【问题标题】:JSTL fmt:message and resource bundle result in ???hello?JSTL fmt:message and resource bundle 导致 ???hello?
【发布时间】:2012-07-12 14:23:18
【问题描述】:

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

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

这是我的 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 中 - 没有帮助。 我也尝试重新启动服务器 - 它没有帮助。

如何使用字符串包?如何使用多个捆绑包?

干杯,

【问题讨论】:

    标签: java jsp internationalization


    【解决方案1】:

    可能会发生很多事情。

    当你说

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

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

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

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

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

    显示消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-06
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      相关资源
      最近更新 更多