关于JSTL中指令的问题

fzymr 2009-03-23 10:31:25
我在WEB-INF/classes/ 目录下新增一个文件 MyResource.properties,内容如下:filename=MyResource.properties
然后再在WEB-INF/classes/property 目录下增加另一个资源文件 test.properties,内容如下:filename=test.properties

jsp的程序如下:

<%@ page language="java" contentType="text/html; charset=GB2312" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page import ="java.util.Date" %>
<%@ page import ="java.lang.Double" %>

<html>
<head>
<title>JSTL Message指令</title>
</head>
<body>

<h2><c:out value="一、<fmt:message> 指令" /></h2>

<br>
<c:out value="读取放在WEB-INF/classes目录下的资源文件(MyResource.properties)" />
<br>
<fmt:bundle basename="MyResource">
<fmt:message key="filename" var="filename1"/>
</fmt:bundle>
<c:out value="文件名:${filename1}" />
<br>

<br>
<c:out value="读取放在WEB-INF/classes/property目录下的资源文件(test.properties)" />
<br>
<fmt:bundle basename="" />
<fmt:bundle basename="property.test">
<fmt:message key="filename" var="filename2"/>
<c:out value="文件名:${filename2}" />
</fmt:bundle>

</body>
</html>

通过浏览器访问这个页面的结果是:filename1和filename2都为MyResouce.properties。

现在的问题是,好像第二次的<fmt:bundle>没有起到作用,即使重新设置了资源文件的位置,还是会读取第一次设置的资源文件内容。
请问应该如何解决?!
...全文
483 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzymr 2009-03-29
  • 打赏
  • 举报
回复
up
fzymr 2009-03-24
  • 打赏
  • 举报
回复
谢谢回答。

修改后的结果还是一样的。

我将
<c:out value="读取放在WEB-INF/classes/property目录下的资源文件(test.properties)" />
<br>
<fmt:bundle basename="" />
<fmt:bundle basename="property.test">
<fmt:message key="filename" var="filename2"/>
<c:out value="文件名:${filename2}" />
</fmt:bundle>
这段脚本放在前面,filename和filename2的值就为test.properties了。就是说读取的文件在第一次就设定好了,之后不能够再更改?资料上说明设置的值只在本次的<fmt bundle></fmt bundle>指令之间有效。不知道为什么测试的结果会这样?
simpledong 2009-03-24
  • 打赏
  • 举报
回复
LZ请做如下修改试试看

<fmt:bundle basename="property.test">

<fmt:bundle basename="property/test">

81,076

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧