详解struts2中配置action的方法

如何解决action太多的问题??
我们因为需要不同的方法,所以往往建立很多不同的类,但是每个类中往往仅仅几行代码,不仅浪费了时间,而且配置起来也很繁琐,所以,建立一个共有的类,然后根据以下方式来操作,从而解决类太多的问题。
1.method方式:建立一个Action类,在类中编写不同的方法,在不同的方法中处理不同的请求。
  在struts.xml中配置method属性,让不同的action指向同一个Action类的不同方法。

2.感叹号方式:
 <constant name="struts.enable.DynamicMethodInvocation" value="true" />
 不需要配置method,直接用!方法名的方式来调用。

 DynamicMethodInvocation =动态方法调用

3.通配符方式(官网推荐) “约定大于配置” 
   checkLogin    
   checkExists   
   add           
   delete        
   modify        
 <action name="*" class="myuser.UserAction" method={1}>
 </action>

以用户注册的方式,来和大家具体的讲解:

 totalaction类:

 View Code

method的方法中struts的配置:

复制代码

 1 <struts>
 2     <constant name="struts.action.extension" value="action,,"></constant>
 3     <constant name="struts.devMode " value="true"></constant>  
 4     <package name="user" namespace="/" extends="struts-default">
 5         <action name="checklogin" class="user.TotalAction" method="checkLogin">
 6         </action>
 7         <action name="CheckUser" class="user.TotalAction" method="checkExists">    
 8         </action>
 9         <action name="add" class="user.TotalAction" method="add">
10             <result name="success">/userlist.jsp</result>
11         </action>
12     </package>
13 </struts>

复制代码

2,感叹号方式struts的配置。

复制代码

 1 <struts>
 2     <constant name="struts.action.extension" value="action,,"></constant>
 3     <constant name="struts.devMode " value="true"></constant>
 4      <constant name="struts.enable.DynamicMethodInvocation" value="true" />  //需要配置
 5     <package name="user" namespace="/" extends="struts-default">
 6         <action name="user" class="user.TotalAction">//不需要method方法,只需在jsp页面加载时用!表示。
 7             <result name="success">/userlist.jsp</result>
 8         </action>
 9     </package>
10 </struts>

复制代码

如:$.post("user!checkExists",。。。。。

3.通配符方式(官网推荐) “约定大于配置”

复制代码

 1 <struts>
 2     <constant name="struts.action.extension" value="action,,"></constant>
 3     <constant name="struts.devMode " value="true"></constant>
 4      <constant name="struts.enable.DynamicMethodInvocation" value="true" />  
 5     <package name="user" namespace="/" extends="struts-default">
 6         <action name="*" class="user.TotalAction" method="{1}" >//只需要将其改变成此方式。而jsp页面改变为方法名即可。此方式较为常用。
 7             <result name="success">/userlist.jsp</result>
 8         </action>
 9     </package>
10 </struts>

复制代码

如::<form action="add" method="post">

猜你喜欢

转载自blog.csdn.net/ywaken/article/details/81090337
今日推荐