Properties 从JSTL读取属性文件
我试图使用taglib读取一个“属性文件”表单JSTL,但我无法访问它Properties 从JSTL读取属性文件,properties,jstl,taglib,Properties,Jstl,Taglib,我试图使用taglib读取一个“属性文件”表单JSTL,但我无法访问它 <%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%> 而不是属性文件中的消息 我认为问题在于定位属性文件, 或者在中的基名称中 <fmt:bundle basename="msg"> 我应该在哪里找到属性文件,如何在代码中引用它 谢谢大家试试看 < fmt:bundle basename="msg"/>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
而不是属性文件中的消息
我认为问题在于定位属性文件,
或者在中的基名称中
<fmt:bundle basename="msg">
我应该在哪里找到属性文件,如何在代码中引用它
谢谢大家试试看
< fmt:bundle basename="msg"/>
< fmt:message key="error.more" />
当您修复taglib URL时,这是不必要的。将其从web.xml
中删除,并删除所有松散的TLD文件。您应该在/WEB-INF/lib
中有jstl.jar
和standard.jar
。或者在使用JSTL 1.2时,只需使用JSTL-1.2.jar
。没有什么需要做的了
另见:
属性文件名为msg。性质
<fmt:bundle basename="msg">
<fmt:message key="error.more" />
</fmt:bundle>
<fmt:bundle basename="msg">
<fmt:message key="error.more" />
</fmt:bundle>
与属性文件中的消息不同,我认为问题在于定位属性文件,或者在
中的基本名称中定位属性文件,以及如何在代码中引用它
把它放在类路径中。在您的特定情况下,对于基本名称msg
,您需要将msg.properties
文件放在类路径的根目录中
另见:
<fmt:bundle basename="msg">
<fmt:message key="error.more" />
</fmt:bundle>
<fmt:bundle basename="msg">
<fmt:message key="error.more" />
</fmt:bundle>
消息\u da.properties
<fmt:bundle basename="msg">
<fmt:message key="error.more" />
</fmt:bundle>
<fmt:bundle basename="msg">
<fmt:message key="error.more" />
</fmt:bundle>
在一个名为如下的包中
com.isuru.test.i18N.resources
2)如何在代码中引用它?
<fmt:setLocale value="en" scope="session"/>
<fmt:bundle basename="com.isuru.test.i18N.resources.Messages" scope="session">
<fmt:message key="error.more" />
这将以英语打印相关的消息,正如Isuru所说,您必须将属性文件放在一个包中,就像您在谈论一个类一样 我遇到了一个奇怪的问题,我一直正确地引用我的属性文件,但从未得到正确的输出,我发现您的属性包必须遵循相同的包名格式,因此如果您有包:
com.test.clients
com.test.stores
您必须创建如下内容:
com.test.i18n
你做不到
other.test.i18n
您可以在这里存储您的属性文件
error.more.properties
error.more_es_MX.properties
然后像平常一样引用它们:
<c:set var="language" value="${not empty param.language ? param.language : not empty language ? language : pageContext.request.locale}" scope="session" />
<fmt:setLocale value="${language}" />
<fmt:setBundle basename="com.example.i18n.text" />
<fmt:message key="error.more" />
这里还有一个关于如何国际化你的web应用的好答案
如何国际化java web应用程序可以通过以下步骤完成。我将messages_en.properties文件放在src/main/resources文件夹下,并使用下面的代码引用了属性文件。我没有考虑任何本地化,所以没有提及任何与此相关的内容
<c:set var="language" value="${not empty param.language ? param.language : not empty language ? language : pageContext.request.locale}" scope="session" />
<fmt:setLocale value="${language}" />
<fmt:setBundle basename="com.example.i18n.text" />
<fmt:message key="error.more" />