JSP包含用于国际化的标签

时间:2015-05-07 15:22:08

标签: java jsp internationalization jsp-tags

我的JSP(template.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>

fmt:消息行运行良好(打印文本标签)。但是如果我在header.jsp中写这行,或者包含的任何其他jsp都不起作用。

我必须在所有jsp文件中编写所有标记库行吗? 有没有办法在我的所有jsp中不重复第一行包含4行?

谢谢!

编辑:示例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>

1 个答案:

答案 0 :(得分:0)

将这些行放入jsp&amp;将它包含在当前的jsp i; e 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>