struts2 配置文件的理解

【struts2 配置文件】

1.包配置:

在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置。它的常用属性有:
name:必填属性,用来指定包的名字。
extends:可选属性,用来指定该包继承其他包。继承其它包,可以继承其它包中的Action定义、拦截器定义等。
namespace:可选属性,用来指定该包的命名空间。
 
<!DOCTYPE struts PUBLIC
         "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
         "http://struts.apache.org/dtds/struts-2.0.dtd">
 <struts>
     <!-- struts2的action必须放在一个指定的包空间下定义 -->
     <package name="default" extends="struts-default">
     <!-- 定义处理请求URL为login.action的Action -->
         <action name="login" class="org.caijieru.web.struts.action.LoginAction">
         <!-- 定义处理结果字符串和资源之间的映射关系 -->
             <result name="success">/success.jsp</result>
             <result name="error">/error.jsp</result>
         </action>
     </package>
 </struts>
 

-->如果没有为action中指定class,默认值是ActionSupport
-->如果没有为action中指定method,默认执行action中的excute()方法
-->如果没有指定result的name属性,默认值是success

 

2.命名空间配置 :

考虑到同一个Web应用中需要同名的Action,Struts2以命名空间的方式来管理Action,同一个命名空间不能有同名的Action。

Struts2通过为包指定namespace属性来为包下面的所有Action指定共同的命名空间。

 

 

<!DOCTYPE struts PUBLIC
         "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
         "http://struts.apache.org/dtds/struts-2.0.dtd">
 <struts>
     <!-- struts2的action必须放在一个指定的包空间下定义 -->
     <package name="struts2" extends="struts-default">
     <!-- 定义处理请求URL为login.action的Action -->
         <action name="login" class="org.caijieru.web.struts2.action.LoginAction">
         <!-- 定义处理结果字符串和资源之间的映射关系 -->
             <result name="success">/success.jsp</result>
             <result name="error">/error.jsp</result>
         </action>
     </package>
    
     <package name="it" extends="struts-default" namespace="/manage">
     <!-- 定义处理请求URL为login.action的Action -->
         <action name="backLogin" class="org.caijieru.web.struts2.action.LoginAction">
         <!-- 定义处理结果字符串和资源之间的映射关系 -->
             <result name="success">/success.jsp</result>
             <result name="error">/error.jsp</result>
         </action>
     </package></struts>

 

以上配置陪了两个包,struts2和it包,配置it包时指定了该包的命名空间为/manage。

对于包struts2:没有指定namespace属性。如果某个包没有指定namespace属性,即该包使用默认的命名空间,默认为null。
对于包it:指定了命名空间/manage,则该包下所有的Action处理的URL应该是“命名空间/Action名”。如上名为 backLogin的Action,
 

3.包含配置

 

<struts>
     <include file="struts-default.xml"/>
     <include file="struts-user.xml"/>
     <include file="struts-book.xml"/>
     <include file="struts-shoppingCart.xml"/>
    
     ......
    </struts>

 

在Struts2中可以将一个配置文件分解成多个配置文件,那么我们必须在struts.xml中包含其他配置文件。

 

 

4.Result的各种转发类型

浏览器重定向:就是引导客户的浏览器到指定的路径文件,是不能访问到WEB-INF目录下的文件的。

 

<action name="helloword" class="com.cxy.HelloWordAction" method="execute">
 <result name="success">/jsp路径</result> ////内部请求转发
 </action>
 
 
 <action name="redirect">
 <result type="redirect">/xx.jsp</result> //浏览器重定向
 </action>

 

原文地址:http://www.cnblogs.com/cxy0703

你可能感兴趣的:(struts2,namespace,struts.xml,配置文件,result类型)