JSTL fmt:消息和资源包导致???你好?

时间:2012-07-12 18:44:43

标签: java jsp internationalization

我正在尝试使用JSLT。 我遵循了一些指示。

  1. 我在xamppp上安装了一个tomcat,用控制面板激活了它,它在端口8080上工作正常。
  2. 在WEB-INF \ lib目录中的
  3. 我添加了一个“jstl-1.2.jar”文件和一个Messages_en_US.properties
  4. 这是我的test.jsp:

    <fmt:setLocale value="en_US" scope="application"/>
    <fmt:setBundle basename="Messages"/>
    <fmt:message key="welcome" />
    
    <h1>test</h1>
    
    <p>Counting to three:</p>
    <% for (int i=1; i<4; i++) { %>
    <p>This number is <%= i %>.</p>
    <% } %>
    <p>Done counting.</p>
    

    计数有效,所以我的jsp有效。 但欢迎只是显示???欢迎???。

    我在做错了什么? 我把捆绑包放在正确的目录中? 我尝试将消息包放在类和WEB-INF中 - 没有帮助。 我也尝试重新启动服务器 - 它没有帮助。

    我如何使用字符串捆绑?我怎么能用几个捆绑包?

    欢呼声,

1 个答案:

答案 0 :(得分:8)

可能会发生很多事情。

当你说

<fmt:setLocale value="en_US" ... />

这意味着您应该Messages_en.propertiesMessages_en-US.properties。使用

<fmt:setBundle basename="Messages" var="msg" />

您应该将加载的消息分配到当前范围内的变量中。当您需要打印消息时,您应该使用

<fmt:message key="welcome" bundle="${msg}" />

显示消息。