2015-05-07 2 views
2

У меня есть эта структура в моем JSP (template.jsp):JSP включает тег для интернационализации

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
<c:set var="language" value="es" scope="session"/> 
<fmt:setBundle basename="com.myweb.i18n.text"/> 

<html> 
    <body> 
    <fmt:message key='login.label.username'/> 
    <jsp:include page='/home/header.jsp' flush='true'/> 
    <jsp:include page='/home/body.jsp' flush='true'/> 
    <jsp:include page='/home/footer.jsp' flush='true'/> 
    </body> 

</html> 

ДРМ: сообщение линия хорошо работает (печатать текстовую метку). Но если я пишу эту строку в header.jsp или в любом другом включенном jsp, это не сработает.

Я должен написать все теги lib строк во всех файлах jsp? Есть ли способ включить без повторения первых четырех строк во всех моих jsp?

Спасибо!

Edit: пример header.jsp

<div> 
    <fmt:message key='login.label.username'/> 
    <jsp:include page='/home/header-left.jsp' flush='true'/> 
    <jsp:include page='/home/header-center.jsp' flush='true'/> 
    <jsp:include page='/home/footer-right.jsp' flush='true'/> 
</div> 
+0

Да, вы можете включить в заголовок а затем включить заголовок на всех других страницах jsp - я думаю, это то, что вы пробовали. Это совершенно законно. Если он не работает, покажите нам header.jsp, как вы включили header.jsp. Попробуйте использовать ' ' после включения заголовка. – Kartic

+0

Если я не включаю taglibs в header.jsp, не работает – Alex

+0

Если вы не указали taglib, как он будет работать. Вы можете сделать одну вещь, поместите все свои теги в общий файл jsp (например, header.jsp) и включите header.jsp во все остальные файлы jsp (например, home.jsp, administrator.jsp и т. Д.). Таким образом, вы должны определить taglib только в одном месте. – Kartic

ответ

0

положить строки в JSP & включить его в текущей JSP я; е template.jsp, как

<@include file="path/jspcontaininglibs.jsp"/> 
<html> 
    <body> 
    <fmt:message key='login.label.username'/> 
    <jsp:include page='/home/header.jsp' flush='true'/> 
    <jsp:include page='/home/body.jsp' flush='true'/> 
    <jsp:include page='/home/footer.jsp' flush='true'/> 
    </body> 
</html> 
+0

Но я должен включить jspcontainlibs.jsp во все jsp – Alex

+0

да, в jsps, где вам нужны эти taglibs – underdog

+0

И это правильно код для этого? повторяйте и загрузите taglib на каждом jsp. Это лучшее решение? Загрузите файлы .properties несколько раз для того же html – Alex

Смежные вопросы