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


2. 国际化

显示页面

语言资源文件放在action同目录下, 命名格式 action同名 + 国家代码 + 语言代码

I18nAction_zh_CN.properties

label.name=userName_zh_CN

I18nAction_en_US.properties

label.name=userName_en_US






 


 

相关文章: