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

Guy*_*Guy 3 java jsp internationalization

我正在尝试使用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>
Run Code Online (Sandbox Code Playgroud)

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

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

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

干杯,

nob*_*beh 8

可能会发生很多事情.

当你说

<fmt:setLocale value="en_US" ... />
Run Code Online (Sandbox Code Playgroud)

这意味着你应该拥有Messages_en.propertiesMessages_en-US.properties.运用

<fmt:setBundle basename="Messages" var="msg" />
Run Code Online (Sandbox Code Playgroud)

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

<fmt:message key="welcome" bundle="${msg}" />
Run Code Online (Sandbox Code Playgroud)

显示消息.