美文网首页
struts2配置文件详解(三)

struts2配置文件详解(三)

作者: FTOLsXD | 来源:发表于2017-02-17 15:12 被阅读37次

3.2. 处理结果类型:

Struts2提供了对不同种类返回结果的支持,常见的有JSP,FreeMarker,Velocity等。Struts2支持的不同类型的返回结果为:(大字体为常用)

|名字|说明|
|---|---|
|chain|用来处理Action链|
|dispatcher|用来转向页面,通常处理JSP,这是默认的结果类型|
|freeMarker|处理FreeMarker模板|
|httpHeader|用来控制特殊的Http行为|
|redirect|重定向到一个URL|
|redirect-action|重定向到一个Action|
|stream|向浏览器发送InputSream对象,通常用来处理文件下载|
|velocity|处理Velocity模板|
|xslt|处理XML/XLST模板|
|plaintext|显示原始文件内容,例如文件源代码|
|tiles|结合Tile使用|
另外第三方的Result类型还包括JasperReports Plugin,专门用来处理JasperReport类型的报表输出;Jfreechart Plugin;JSF Plugin。
常用示列:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "struts-2.1.dtd" >
<struts>
    <package name="struts2" extends="struts-default">
        <!-- 默认Action -->
        <default-action-ref name="defaultAction"></default-action-ref> 
        <!-- 全局结果可满足一个包中多个Action共享一个结果,也就是说,当多个Action中都有一个重复的result时就可以使用全局结果,也就是说公共的result
        <global-results>
            <result name="fruitPage" type="dispatcher" >/fruit.jsp</result>
        </global-results> -->
        <action name="defaultAction">
            <result>/error.jsp</result>
         </action>
        <!-- 通配符映射(wildcard mappings) -->
        <action name="*Action" class="com.struts.ComputeAction" method="{1}" >
            <!--1 
                表达式{1}也可以写在url连接中,class,name中都可以写,也可以写多少,索引从1开始
            <result name="fruitPage" >/{1}.jsp</result> -->
            <!--2
                默认dispatcher转发跳转
            <result name="fruitPage" type="dispatcher" >/fruit.jsp</result> -->
            <!--3
                重定向跳转
            <result name="fruitPage" type="redirect" >/fruit.jsp</result> -->
            <!--4
                redirectAction:    Action实例 与另一个Action实例互相跳转
            <result name="fruitPage" type="redirectAction" >skipAction</result> -->
            <!--4.1
                使用感叹号指定跳转方法,xml会显示报错,但可以用。    使用?&不能在Action实例中带参数
            <result name="fruitPage" type="redirectAction" >skipAction!add</result> -->
            <!--4.2
                跳转Action带参数的方式:
                    actionName:跳转Action的名称
                    method:跳转Action实例中的哪个方法
                    num:带的参数,可写固定,可使用${属性名}取上一个Action实例中的属性,实现动态传值。
             -->
            <result name="fruitPage" type="redirectAction" >
                <param name="actionName">skipAction</param>
                <param name="method">add</param>
                <param name="num1">${num1}</param>
                <param name="num2">${num2}</param>
            </result>
        </action>
        <action name="skipAction" class="com.struts.SkipAction" >
            <result name="success" type="dispatcher" >/fruit.jsp</result>
        </action>
    </package>
</struts>

相关文章

网友评论

      本文标题:struts2配置文件详解(三)

      本文链接:https://www.haomeiwen.com/subject/rlqlwttx.html