Struts2中package,action,result,method配置详解

转自博客园No.uno的文章。

 
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  
    "http://struts.apache.org/dtds/struts-2.3.dtd">  
 
     
     
          
         
         
          
         
         
             
            /primer/success.jsp  
       
 
         
         
            /primer/success.jsp  
       
 
   
 

为Action配置method属性:

将Action类中的每一个处理方法都定义成一个逻辑Action方法。

        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

        "http://struts.apache.org/dtds/struts-2.0.dtd">

   

       

            /success.jsp

            /error.jsp

       

        

       

            /success.jsp

            /error.jsp

       

   

如上,把LoginAction中的login和regist方法都配置成逻辑Action。要调用login方法,则相应的把index.jsp中表单元素的action设置为"manage/userLogin.action";要调用regist方法,把regist.jsp中表单元素的action设置为"manage/userRegist.action"。

3.3.    使用通配符映射(wildcard mappings)方式:

在struts.xml文件中配置元素时,它的name、class、method属性都可支持通配符,这种通配符的方式是另一种形式的动态方法调用。

当我们使用通配符定义Action的name属性时,相当于用一个元素action定义了多个逻辑Action:

class="org.qiujy.web.struts2.action.UserAction" method="{1}">

            /success.jsp

            /error.jsp

       

{1}为配置参数,意思为如:
user_*时,则执行时,使用的是方法*,
user_a时,则执行时,使用的是方法a。

如上,定义一系列请求URL是user_*.action模式的逻辑Action。同时method属性值为一个表达式{1},表示它的值是name属性值中第一个*的值。例如:用户请求URL为user_login.action时,将调用到UserAction类的login方法;用户请求URL为user_regist.action时,将调用到UserAction类的regist方法。

4.    处理结果

Struts2的Action处理完用户请求后,将返回一个普通字符串,整个普通字符串就是一个逻辑视图名。Struts2通过配置逻辑视图名和物理视图资源之间的映射关系,一旦系统收到Action返回的某个逻辑视图名,系统就会把对应的物理视图资源呈现给浏览者。

4.1.    配置处理结果:

Struts2的Action处理用户请求结束后,返回一个普通字符串-逻辑视图名,必须在struts.xml文件中完成逻辑视图和物理视图资源的映射,才可让系统转到实际的视图资源。

Struts2通过在struts.xml文件中使用元素来配置结果。Struts2提供了两种结果。

l 局部结果:将作为元素的子元素配置。

l 全局结果:将作为元素的子元素配置。

在package元素中配置子元素:

/Error.jsp

/Error.jsp

Logon!input

全局result(global-results)
有很多时候一个可供很多使用,这时可以使用标签来定义全局的l。执行顺序:当一个Action返回的String没有相应的与之对应,Struts2就会查找全局的

你可能感兴趣的:(Struts2中package,action,result,method配置详解)