在Stripes Framework中基于语言加载文件

时间:2011-06-13 01:24:18

标签: java jsp localization stripes

上午, 我正在寻找一种方法来使用条带框架基于浏览器的语言加载不同的文件。 例如

if (getLocal() == Local.US) load(testsheet_us);

jsp文件的相同问题:

<c:if test="${local == Local.US")> include('about_us')</c:if>

或类似的东西。

埃林

1 个答案:

答案 0 :(得分:2)

请求的本地位于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还使用resourcebundles本地化Stripes标记,请参阅:Stripes LocalizationStripes Multiple Resource Bundles