Struts2的國際化例項:中英文怎麼轉換?
阿新 • • 發佈:2018-12-19
1:首先按照之前的方法建立好專案,接著在src下面建兩個File:message_en_US.properties(英文版)和message_zh_CN.properties(中文版) 2:接下來會在我們的檢視層index.jsp中用到 s 標籤,需要注意,程式碼基本如下所示:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>中英文切換</title> </head> <body> <s:i18n name="message"> <s:text name="check"></s:text>: <a href="login.action?request_locale=zh_CN"><s:text name="chinese"></s:text></a> <a href="login.action?request_locale=en_US"><s:text name="english"></s:text></a> <form action="<%=basePath%>login" method="post"> <table> <tr> <td><s:text name="login.username"/></td> <td><input type="text" name="user.userName"/></td> </tr> <tr> <td><s:text name="login.password"/></td> <td><input type="text" name="user.password"/></td> </tr> <tr> <td colspan="2"><input type="submit" value="<s:text name="login.btn"/>"/></td> </tr> </table> </form> </s:i18n> </body> </html>
看完上面這個程式碼有的人可能不理解href="login.action?request_locale=zh_CN"這個程式碼,注意裡面的login.action這個action的名字要跟我們下面將要配置的struts.xml檔案裡面名字必須一樣
然後開始寫我們的action,只需要寫一個execute方法來接收就行 ,程式碼如下圖所示:
package com.hnpi.action;
public class LanguageAction {
public String execute(){
return "success";
}
}
3:在接下來就是配置我們的struts.xml檔案了,程式碼如下圖所示:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="default" namespace="/" extends="struts-default"> <action name="login" class="com.hnpi.action.LanguageAction"> <result name="success">/index.jsp</result> </action> </package> </struts>
4:最後成功的效果圖大概就是這個樣子了:
好了大功告成了!!!