我正在尝试使用 taglib 读取 JSTL 形式的“属性文件”,但我无法访问它
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
我已在 web.xml 中正确找到了 tld 文件,我确信这一点
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/lib/fmt.tld</taglib-location>
</taglib>
属性文件名为 msg.properties。特性
<fmt:bundle basename="msg">
<fmt:message key="error.more" />
</fmt:bundle>
我不断得到
???error.more???
而不是属性文件中的消息
我认为问题在于定位属性文件,
或在基本名称中
<fmt:bundle basename="msg">
我应该在哪里找到属性文件,以及如何在代码中引用它?
感谢大家
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
这是错误的 URI。这是针对已经过时很长时间的旧 JSTL 1.0。对于 JSTL 1.1 你应该使用http://java.sun.com/jsp/jstl/fmt
.
我已在 web.xml 中正确找到了 tld 文件,我确信这一点
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/lib/fmt.tld</taglib-location>
</taglib>
当您修复 taglib URL 时,这是不必要的。将其从您的web.xml
并删除所有那些松散的 TLD 文件。你应该有jstl.jar
and standard.jar
in /WEB-INF/lib
。或者当您使用 JSTL 1.2 时,只需jstl-1.2.jar
。无需再做任何事情。
也可以看看:
属性文件名为 msg.properties。特性
<fmt:bundle basename="msg">
<fmt:message key="error.more" />
</fmt:bundle>
我不断得到
???error.more???
我认为问题不是在属性文件中的消息,而是在定位属性文件中,或者在基本名称中<fmt:bundle basename="msg">
我应该在哪里找到属性文件,以及如何在代码中引用它?
将其放入类路径中。在您的特定情况下,使用基本名称msg
,你需要把msg.properties
类路径根目录中的文件。
也可以看看:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)