zoukankan      html  css  js  c++  java
  • Struts 实现的I18N


    struts 和I18n:
    就是 International 后面18个字符。。具体意义省略。
    其实现原理是:
    服务端维护多套对应的资源文件,对应于不同的语言(这些资源文件独立于代码存在)。
    访问发送到服务器时,服务器自动识别客户端所使用的语言环境。
    服务器根据客户的语言环境选择合适的资源,渲染入视图,然后返回给客户端。

    struts 实现I18n
    struts的struts-config 里可以定义一个
    <message-resources> element, 该标志能够导致struts引用到不同的资源文件。

    实现的方式很简单:
    MessageResources_zh_CN
    message.hello=hello..(cn)

    sturts-config.xml
    <?xml version="1.0" encoding="UTF-8" ?>

    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
              "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

    <struts-config>

        <form-beans>
        </form-beans>

        <global-exceptions>
        </global-exceptions>
      
      <action-mappings>
       <action path="/view"
         type="com.bss.test.i18n.ActionI18N">
         <forward name="success" path="/ui/view.jsp" redirect="false" />
       </action>
      
        </action-mappings>

        <message-resources key="lala" parameter="com.bss.test.i18n.MessageResources" />
    </struts-config>

    view.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib uri="/tags/struts-html" prefix="html" %>
    <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
    <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <b>This page is for test I18n.<b><br>
    Message:&nbsp;
    <bean:message key="message.hello" bundle="lala"/>
    </body>
    </html>

    这里,这个<message-resources key="lala" parameter="com.bss.test.i18n.MessageResources" />
    和<bean:message key="message.hello" bundle="lala"/>中的lala想对应,也就是说,可以有多个不同的MessageSources.
    只要他们<message-resources key="lala" parameter="com.bss.test.i18n.MessageResources" />中的key不一样就可以了。
    可以自由的安排配置文件的部署。

  • 相关阅读:
    gridview 列排序问题
    asp.net中session丢失原因分析
    网页flash挡住了TQ的解决办法
    php正确率比较高的安装教程
    PHP5+APACHE2.2配置
    HTML5: HTML5 网站设计作品欣赏
    ASP.NET开源CMS汇总
    ASP.NET:页面传值的几种方式
    Access:数据库操作常见错误
    observer pattern
  • 原文地址:https://www.cnblogs.com/BearOcean/p/1190089.html
Copyright © 2011-2022 走看看