我有一个需要用英语和阿拉伯语显示的Web应用程序。我为英语和阿拉伯语添加了2个独立的资源包。当它使用jstl格式<fmt:message key="navigation.welcome"/>
的阿拉伯语时,它工作正常显示阿拉伯语单词。但是,当我使用<fmt:message var="itemLabel" key="navigation.welcome"/>
时,它不起作用,它显示键/值对的unicode值。存储在Unicode中的键/值对如下。
navigation.welcome = أهلا وسهلا!
jsp页面如下。
<dsp:page>
<div id="atg_store_personalNav">
<ul id="atg_store_personalNavItems">
<%-- WISH LISTS LINK --%>
<li class ="${activeTab=='WISHLIST' ? ' active' : ' '}">
<fmt:message var="itemLabel" key="navigation.welcome"/>
<fmt:message var="itemTitle" key="navigation_personalNavigation.linkTitle">
<fmt:param value="${itemLabel}"/>
</fmt:message>
<dsp:droplet name="ProfileSecurityStatus">
<%-- Logged in User --%>
<dsp:oparam name="loggedIn">
<dsp:a id="myWishList" page="/myaccount/myWishList.jsp" title="${itemTitle}" iclass="atg_store_navWishList">
<c:out value="${itemLabel}"/>
</dsp:a>
</dsp:oparam>
<%-- Anonymous user or logged in from cookie --%>
<dsp:oparam name="default">
<dsp:a id="myWishList" page="/global/util/loginRedirect.jsp?error=wishlistNotLoggedIn"
title="${itemTitle}" iclass="atg_store_navWishList">
<dsp:property bean="SessionBean.values.loginSuccessURL" value="myWishList.jsp"/>
<c:out value="${itemLabel}"/>
</dsp:a>
</dsp:oparam>
</dsp:droplet>
</li>
</ul>
</div>
</dsp:page>
var选项需要与fmt:message一起使用以供以后使用。有人可以帮帮我吗?
答案 0 :(得分:0)
用于显示输出。默认情况下,c:out转义XML特殊字符,例如&amp ;.通过添加escapeXml =“false”,它就解决了。
答案 1 :(得分:0)
在你的控制器或动作类中,只需写下逻辑:
response.setCharacterEncoding("UTF-8");
然后它应该工作。