日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Strusts2笔记7--国际化

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Strusts2笔记7--国际化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

國際化:

  國際化是指,使程序在不做任何修改的情況下,就可以使用在不同的語言環境中。國際化在一般性項目中是不常用的。在編程中簡稱 i18n。

  國際化是通過讀取資源文件的形式實現的。資源文件的定義與注冊,主要分為全局范圍的、包范圍的、Action范圍的,下面分別介紹:

  (1)全局范圍的:

    全局資源文件是指,整個應用中所有文件均可訪問的資源文件,其命名要遵循的格式:baseName-language_country.properties

    其中baseName是資源文件的基本名,可以自定義。但language和country必須是Java支持的語言和國家的簡稱。例如:myBaseName_en_US.properties

  (2)包范圍的:

    可以針對不同模塊、不同的action來組織國際化文件

    再要使用該資源文件的java包下,放置以下格式的資源文件:package_language_country.properties。其中,package為固定寫法。例如:package_en_US.properties

  (3)Action范圍的:

    可以單獨為某個action指定資源文件,只需在Action類所在的包中放置以下格式的資源文件:ActionClassName_language_country.properties。其中ActionClassName是action類的簡單名稱。例如:LoginAction_en_US.properties

  綜述:對于前端的某個值來說,如果未指定讀取哪一個范圍的資源文件,則加載資源文件的順序是Action范圍-->包范圍-->全局范圍

  下圖是資源文件的放置示意圖:

  

  國際化的代碼:

    (1)資源文件的配置(分別是myBaseName_en_US.properties和myBaseName_zh_CN.properties):

    

    

    解釋:其中的占位符 {0} 是為了實現,為資源文件的動態參數賦值

    (2)Action類的代碼:

package com.tongji.actions;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport{private static final long serialVersionUID = -7398591714651064707L;private String username;private int age;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String execute() {String msg = this.getText("action.out.msg");System.out.println(msg);String[] args = {username};  String msg2 = this.getText("action.out.msg2",args);System.out.println(msg2);return "success";}
}

    解釋:ActionSupport中的getText方法,是在Action內加載資源文件,第二種實現方式加入了動態參數。

    (3)前端頁面代碼:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%><html><head><title>index page</title></head><body><a href="test/language.action?request_locale=zh_CN">中文</a><a href="test/language.action?request_locale=en_US">English</a><br><br><s:i18n name="com/tongji/actions/LoginAction"><s:text name="index.form.title" /><br> <!-- 讀取Action范圍資源文件 --></s:i18n><s:i18n name="com/tongji/package"> <!-- 讀取包范圍資源文件 --><s:form action="test/login.action" method="POST"><s:textfield name="username" key="index.form.uname"/><s:textfield name="age" key="index.form.uage"/><s:submit key="index.form.submit"/></s:form></s:i18n></body>
</html>

    解釋:對于前端的某個值來說,如果未指定讀取哪一個范圍的資源文件,則加載資源文件的順序是Action范圍-->包范圍-->全局范圍;但是,這里指定了讀取指定范圍的資源文件。

    (4)struts.xml代碼:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><constant name="struts.custom.i18n.resources" value="myBaseName"/><package name="demo" namespace="/test" extends="struts-default"><action name="language"><result>/index.jsp</result></action><action name="login" class="com.tongji.actions.LoginAction"><result>/welcome.jsp</result></action></package>
</struts>

    解釋:第一次加載頁面,頁面就加載了全局資源文件(如果未指定讀取包范圍或Action范圍的資源文件),這個資源文件的類型(zh_CN,還是en_US,還是其他)由瀏覽器默認指定的

       只有在執行Action時才會自動加載包范圍的或Action范圍的資源文件。因此,如果想在Action未執行前,改變加載的資源文件類型,可以這樣做:

    前端:<a href="test/language.action?request_locale=zh_CN">中文</a>

       <a href="test/language.action?request_locale=en_US">English</a>

    struts.xml配置:<action name="language">

              <result>/index.jsp</result>

            </action>

    目的:是為了讓i18n攔截器起作用,改變其中的request_locale值,從而改變加載的資源文件類型。一旦,request_locale值改變,接下來的Action加載的包范圍的或Action范圍的資源文件都會遵從這個類型

轉載于:https://www.cnblogs.com/qjjazry/p/6241516.html

總結

以上是生活随笔為你收集整理的Strusts2笔记7--国际化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲av久久久噜噜噜熟女软件 | 动漫3d精品一区二区三区乱码 | 一级bbbbbbbbb毛片 | xxxx黄色 | 黄色av免费在线播放 | 午夜一级在线 | 伊人情人综合网 | 国产v亚洲v天堂无码 | 国产夜夜嗨 | 日本中文字幕一区二区 | 国产无遮挡免费视频 | 国产亚洲精品熟女国产成人 | 亚洲乱论| 青青艹在线视频 | 亚洲第一自拍 | 精品久久毛片 | 色涩色 | 手机av网址| 亚洲一区二区三区播放 | 日本天堂网在线观看 | 人人超碰人人 | 俺来也俺也啪www色 欧洲一区二区视频 | 亚州av片| 少妇日韩| 久久久久99精品成人片三人毛片 | 人成在线 | 在线免费激情视频 | 国产精品999999 | 99久久精品无码一区二区毛片 | 欧美美女喷水 | 99视频+国产日韩欧美 | 精品三区视频 | 播色网 | 一区不卡av | 久久在线中文字幕 | 久在操 | 国产在线拍揄自揄拍 | 日批网址 | 激情小说视频在线 | 在线h网站| wwwxxx黄色片 | 狠狠狠狠狠干 | 中文字幕免费在线观看 | 亲切的金子餐桌片段的金子 | 谁有毛片网站 | 99热99热| 色老大影院 | 久久xx | 久久久午夜影院 | 亚洲欧美在线一区二区 | 一区二区三区高清在线 | 国产欧美精品区一区二区三区 | 琪琪电影午夜理论片八戒八戒 | 国产第一福利影院 | 综合婷婷 | 午夜一本 | www五月天com | 国产一级淫片a | 特大黑人巨交性xxxx | 日韩成人av在线播放 | 奇米777视频 | 亚洲成人黄色片 | videosex抽搐痉挛高潮 | 欧美少妇激情 | 人人亚洲| 亚洲色图25p | 久久综合久 | 手机在线观看日韩av | 午夜日韩在线 | 岛国片在线免费观看 | 韩国三级中文字幕 | 日本乱论视频 | 欧美日韩一区二区三区视频 | 久久精品国产亚洲av无码娇色 | 男人撒尿视频xvideos | 国产精品传媒一区二区 | 国产婷婷色一区二区三区在线 | 国产精品国产三级国产aⅴ9色 | 国内精品久久久久久久 | 中文字幕在线看高清电影 | 久色伊人 | 久久av无码精品人妻出轨 | 多男调教一女折磨高潮高h 国内毛片毛片毛片毛片毛片 | www.jizzjizz| 久久香蕉网站 | 理论视频在线观看 | 成年人黄网站 | 久久成人乱码欧美精品一区二区 | 色屁屁影院www国产高清麻豆 | 国产主播在线看 | 超碰97自拍| 成人性生交大片免费看r链接 | 91第一页| 少妇高潮av久久久久久 | 欧美日韩中文字幕 | 青青草原av | 欧美涩色 | 欧美久久久久久久久中文字幕 | 国产一区二 |