我在WEB-INF/classes/ 目录下新增一个文件 MyResource.properties,内容如下:filename=MyResource.properties
然后再在WEB-INF/classes/property 目录下增加另一个资源文件 test.properties,内容如下:filename=test.propertiesjsp的程序如下:<%@ 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>没有起到作用,即使重新设置了资源文件的位置,还是会读取第一次设置的资源文件内容。
请问应该如何解决?!

解决方案 »

  1.   

    LZ请做如下修改试试看<fmt:bundle basename="property.test"> 

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

  2.   

    谢谢回答。修改后的结果还是一样的。我将
    <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>指令之间有效。不知道为什么测试的结果会这样?