首页 > 其他 > 详细

Struts2学习第二天——动态方法调用

时间:2017-03-02 21:53:15      阅读:222      评论:0      收藏:0      [点我收藏+]

method属性

 在前面的例子里,Action默认使用execute()方法来处理请求。但是,如果有多个不同的请求需要同一个Action进行不同处理,怎么办?在Struts.xml文件中,需要指定Actin中的多个方法对不同的请求分别进行处理。该功能可以通过<action>中的method属性来实现。

 1 public class HouserUserAction {
 2     /**
 3      * 处理login请求
 4      * @return
 5      */
 6     public String login(){
 7                System.out.print("执行login请求处理");
 8         return null;
 9     }
10     /**
11      * 处理reg请求
12      * @return
13      */
14     public String reg(){
15         System.out.print("执行reg请求处理");
16         return null;
17     }
18 }

Action配置代码

1 <action name="LoginUserAction" class="com.house.action.HouserUserAction" method="login">
2         </action>
3         <action name="RegUserAction" class="com.house.action.HouserUserAction" method="reg">
4         </action>

通过该配置既可通过LoginUserAction来调用login()方法也可通过RegUserAction来调用reg方法二者皆为一个Action

动态方法调用

1.<!-- 动态方法1使用URL /HouserUserAction!login.action -->

  需要设置constant属性true

  Struts2-core--->struts2-->default.properties   109

<!-- 设置struts框架的常量(记录在defaut.properties属性) -->
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

  struts配置

<action name="HouserUserAction" class="com.house.action.HouserUserAction"></action>

  表单页面代码

<FORM id="user" method="post" name="user" action="/house/HouserUserAction!login.action">

2.<!-- 动态方法2使用通配符 -->

  struts配置

<action name="*HouserUserAction" class="com.house.action.HouserUserAction" method="{1}"> </action> 

  *代指方法  method={1}占位符匹配一个字符串  也可写作 HouserUserAction_*等

  表单页面代码                           

<FORM id="user" method="post" name="user" action="/house/loginHouserUserAction.action">

  在<form action="house_add"method="post"></form>中来提交表单,当有完全匹配的时候优先使用完全匹配,没有完全匹配则去找有通配符的action

 

  

  

 

Struts2学习第二天——动态方法调用

原文:http://www.cnblogs.com/lisidapao/p/6483315.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!