java - Stripes Framework 中根据 Language 加载文件

标签 java jsp localization stripes

早上好, 我正在寻找一种使用 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/

相关文章:

java - JSP Servlet 登录问题

javascript 检索日期,例如 Windows 托盘中的用户本地日期

php - 如何在 Symfony 2 的每个 URL 中设置 {locale}?

ios - 使用 .strings 文件进行 NSLocationWhenInUseUsageDescription 本地化不起作用

java - 为什么 weka 实例不将标称属性设置为第一个值(索引 : 0)

java - 为什么使用方法引用时操作监听器会给出不同的结果?

java - Struts2 - 将重定向设置为 false

java - 除了 Collections.unmodifyingList() 之外,还有哪些方法可以使 arraylist 变为只读?

java - 如何根据条件禁用 TestNG 测试

java - XSLT <xsl :element> equivalent in JSP?