Structs2 structs.xml配置

Posted chy18883701161

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Structs2 structs.xml配置相关的知识,希望对你有一定的参考价值。

 

<struts>
    <package name="action" namespace="/action" extends="struts-default">
        <action name="LoginAction" class="action.LoginAction" method="execute">
            <result name="teacher">/teacher.jsp</result>
            <result name="student">/student.jsp</result>
            <result name="error">/error.jsp</result>
        </action>
    </package>

    <include file=""></include>
</struts>

namespace常用/,或/包名。

当xml文件较大时,可以使用多个xml文件来配置,比如在每个包下使用一个xml来配置这个包的action,在structs.xml中使用<include>把其他xml配置文件包含进来即可。

 

 

 

 

设置处理请求的方法

<package name="action" namespace="/action" extends="struts-default">
<global-allowed-methods></global-allowed-methods>
<action name="loginAction" class="action.LoginAction" method="exe">
<allowed-methods></allowed-methods>
</action>
</package>

可在<action>中使用method属性来设置,可在<allowed-methods></allowed-methods>中设置,也可在<global-allowed-methods></global-allowed-methods>中设置整个包的。

既然是methods,复数形式,就可设置多个方法名。

 

structs-default.xml中的配置:

<global-allowed-methods>execute,input,back,cancel,browse,save,delete,list,index</global-allowed-methods>

 

 

 

设置页面调用方式

<action name="loginAction" class="action.LoginAction">
      <result name="" type="dispatcher"></result>
</action>

可在<result>中使用type属性逐个设置,也可以在structs-default.xml中设置全局的:

<result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
            <result-type name="dispatcher" class="org.apache.struts2.result.ServletDispatcherResult" default="true"/>
            <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
            <result-type name="httpheader" class="org.apache.struts2.result.HttpHeaderResult"/>
            <result-type name="redirect" class="org.apache.struts2.result.ServletRedirectResult"/>
            <result-type name="redirectAction" class="org.apache.struts2.result.ServletActionRedirectResult"/>
            <result-type name="stream" class="org.apache.struts2.result.StreamResult"/>
            <result-type name="velocity" class="org.apache.struts2.result.VelocityResult"/>
            <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
            <result-type name="plainText" class="org.apache.struts2.result.PlainTextResult" />
            <result-type name="postback" class="org.apache.struts2.result.PostbackResult" />
        </result-types>

将default属性设置为true即可。默认为dispatcher,转发。

 

 

 

 

设置拦截器

<package name="action" namespace="/action" extends="struts-default">
        <interceptors>
            <interceptor name="" class=""></interceptor>
            <interceptor-stack name="">
                <interceptor-ref name="" />
                <interceptor-ref name="" />
            </interceptor-stack>
        </interceptors>

        <default-interceptor-ref name=""></default-interceptor-ref>

        <action name="loginAction" class="action.LoginAction" method="exe">
            <interceptor-ref name=""></interceptor-ref>
            <interceptor-ref name=""></interceptor-ref>
            
        </action>
    </package>

 

在<interceptors>中注册拦截器、拦截器栈。

<interceptor>注册一个拦截器,name指定拦截器名,class指定拦截器对应的java类。

<interceptor-stack>注册一个拦截器栈,name指定拦截器栈的名字。<interceptor-ref />指定要引用的拦截器。

 

可以在<action>中使用<interceptor-ref name=""></interceptor-ref>设置当前<action>要使用的拦截器、拦截器栈,一个<interceptor-ref name=""></interceptor-ref>引用一个拦截器、拦截器栈,可同时使用多个<interceptor-ref name=""></interceptor-ref>。

也可在<default-interceptor-ref name=""></default-interceptor-ref>中设置整个包的默认拦截器、拦截器栈,对此包下所有的action都有效。

引用的拦截器、拦截器栈可以是自己定义的,也可以是structs-default.xml中自带的。

 

 

 

<package>的子元素是有一定顺序的,<action>要放到最后。

可仿照structs-default.xml进行配置。

 

以上是关于Structs2 structs.xml配置的主要内容,如果未能解决你的问题,请参考以下文章

structs2

structs2的action实现方式

码农小汪-struts2学习2-Structs2简单使用流程

ssh整合思想初步 structs2 Spring Hibernate三大框架各自要点

二十Spring MVC与Structs2的区别总结

structs2 获得表单数据