早上好, 我正在寻找一种使用 stripes 框架根据浏览器语言加载不同文件的方法。 例如
if (getLocal() == Local.US) load(testsheet_us);
jsp 文件有同样的问题:
<c:if test="${local == Local.US")> include('about_us')</c:if>
或类似的东西。
艾琳
最佳答案
请求的本地在actionBean上context 。在 actionBean 中,您可以这样编写代码:
if (getContext().getLocale() == Local.US) load(testsheet_us) {
// do something
}
在 JSP 中可以这样完成:
<%-- this will go into a general include file: --%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="context" value="${actionBean.context}"/>
<% pageContext.setAttribute("US", java.util.Locale.US); %>
<c:if test="${context.locale.country == US}">
<jsp:include page="about_us.jsp"/>
</c:if>
但是除非每个区域设置都有不同的布局,否则您通常会使用 ResouceBundles本地化您的应用程序。本地化字段如下所示:
<fmt:message key="aboutus.name"/><br>
<fmt:message key="aboutus.companyVision"/><br>
Stripes 还使用资源包本地化 Stripes 标签,请参阅:Stripes Localization , Stripes Multiple Resource Bundles
关于java - Stripes Framework 中根据 Language 加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6325862/