JavaWeb -- Struts2 ResultType细化, 国际化
生活随笔
收集整理的這篇文章主要介紹了
JavaWeb -- Struts2 ResultType细化, 国际化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. ResultType細化
<result-types><result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/><result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/><result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/><result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/><result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/><result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/><result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/><result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/><result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/><result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" /> </result-types>示例action
/*** ResultTypeAction*/ public class ResultTypeAction extends ActionSupport {private static final long serialVersionUID = -6933309304624396640L;private String name = "中文" ;private String saveFileName ;/*** 只能請求轉發到jsp或者是servlet.*/public String dispatcher() {System.out.println("dispatcher");return "dispatcher";}/*** 重定向到任意的url.*/public String redirect() {System.out.println("redirect");return "redirect";}/*** 重定向action的好處在于不需要硬編碼url地址,即不需要綁定url模式.只能重定向到當前應用中的* 某個action.*/public String redirectAction() {System.out.println("redirectAction");return "redirectAction";}/*** 得到輸入流* @throws FileNotFoundException */public InputStream getIs() throws FileNotFoundException{return new FileInputStream("d:/sunset.jpg");}/*** 下載*/public String stream(){try {saveFileName = URLEncoder.encode("日落", "UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}return "stream" ;}/*** 鏈化action,請求轉發到另外一個action,在同一個線程中,數據共享*/public String chain(){System.out.println("chain");return "chain" ;}/*** 輸出純文本*/public String plainText(){System.out.println("plainText");return "plainText" ;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSaveFileName() {return saveFileName;}public void setSaveFileName(String saveFileName) {this.saveFileName = saveFileName;} }struts配置文檔? rt.xml
<?xml version="1.0"?> <!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN""http://struts.apache.org/dtds/struts-2.1.7.dtd"> <struts><package name="RtPkg" namespace="/rt" extends="struts-default"><action name="ResultTypeAction_*" class="cn.itcast.struts2.resulttype.ResultTypeAction" method="{1}"><result name="dispatcher" type="dispatcher">/login.jsp</result><!--調用action中的數據 用 ${...}--><result name="redirect" type="redirect">/ui/UiAction_saveData.do?name=${name}</result><result name="redirectAction" type="redirectAction"><param name="actionName">UiAction_saveData</param><param name="namespace">/ui</param><param name="name">${name}</param><param name="age">20</param></result><result name="stream" type="stream"><param name="contentType">image/jpeg</param><param name="contentDisposition">attachment;filename="${@java.net.URLEncoder@encode('日落', 'UTF-8')}.jpg"</param><param name="inputName">is</param></result><result name="chain" type="chain"><param name="actionName">UiAction_saveData</param><param name="namespace">/ui</param></result><result name="plainText" type="plainText"><param name="location">/ipmsg.log</param><param name="charSet">GBK</param></result></action></package> </struts>
2. 國際化
顯示頁面
<%@ page language="java" contentType="text/html; charset=utf-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>reg.jsp</title></head><body><s:form namespace="/i18n" action="I18nAction_toRegView" method="post" theme="xhtml"><!--國際化顯示語言選擇--><s:select name="request_locale" list="#{@java.util.Locale@CHINA:@java.util.Locale@CHINA.getDisplayName(@java.util.Locale@CHINA),@java.util.Locale@TAIWAN:@java.util.Locale@TAIWAN.getDisplayName(@java.util.Locale@TAIWAN),@java.util.Locale@US:@java.util.Locale@US.getDisplayName(@java.util.Locale@US),@java.util.Locale@UK:@java.util.Locale@UK.getDisplayName(@java.util.Locale@UK),@java.util.Locale@JAPAN:@java.util.Locale@JAPAN.getDisplayName(@java.util.Locale@JAPAN)}"listKey="key"listValue="value"οnchange="this.form.submit();"value="locale"></s:select><!--國際化顯示 提示信息--><s:textfield name="name" key="label.name" /><s:submit /></s:form></body> </html>語言資源文件放在action同目錄下, 命名格式 action同名 +?國家代碼 + 語言代碼
I18nAction_zh_CN.properties
label.name=userName_zh_CNI18nAction_en_US.properties
label.name=userName_en_US
?
?
轉載于:https://www.cnblogs.com/xj626852095/p/3648022.html
總結
以上是生活随笔為你收集整理的JavaWeb -- Struts2 ResultType细化, 国际化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .Net设计模式_原型模式
- 下一篇: 通过Java反射做实体查询