action的配置

来源:互联网 发布:红拂夜奔 知乎 编辑:程序博客网 时间:2024/06/15 15:01

1.action配置在package里

 

2.例子:默认方法是execute


  <action name="login" class="com.tarena.netctoss.action.LoginAction">
   <result name="success" type="redirectAction">main</result>
   <result name="fail">/WEB-INF/jsp/main_loginform.jsp</result>
  </action>

 

3.action配置method

 

 <action name="userLogin" class="action.LoginAction" method="login">
  <result name="success">/success.jsp</result>
  <result name="error">/error.jsp</result>
 </action>
 
 <action name="userRegist" class="action.LoginAction" method="regist">
  <result name="success">/success.jsp</result>
  <result name="error">/error.jsp</result>
 </action>
 


4.result的name属性的值是action对应方法(默认方法是execute,也可以指定method)返回的字符串


 根据相应的字符串调用不同的result,
 因为可以指定方法,所以一个action根据不同的方法名响应多个请求

 

5.action的class和method属性可以不指定,用于调转页面(没有数据处理的时候)


 class默认为ActionSupport,其execute方法中:return success
 例子:
 <action name="loginform">
  <result>/WEB-INF/jsp/main_loginform.jsp</result>
 </action>

 

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

 

 在struts.xml文件中配置<action…>元素时,
 它的name、class、method属性都可支持通配符,
 这种通配符的方式是另一种形式的动态方法调用。
 
 当我们使用通配符定义Action的name属性时,
 相当于用一个元素action定义了多个逻辑Action:
 
 例子:
 <action name="user_*" class="action.UserAction" method="{1}">
            <result name="success">/success.jsp</result>
            <result name="error">/error.jsp</result>
 </action>
 
 如上,
  <action name=”user_*”>定义一系列请求URL是user_*.action模式的逻辑Action。
  同时method属性值为一个表达式{1},表示它的值是name属性值中第一个*的值。
 
 例如:
   用户请求URL为user_login.action时,将调用到UserAction类的login方法;
   用户请求URL为user_regist.action时,将调用到UserAction类的regist方法
 
 
 
 
 
 

 


 

原创粉丝点击