如何解决action太多的问题??
1.建立多个Action类 就是每个方法都对应于一个action,代码量比较大,不方便!
2.method方式:建立一个Action类,在类中编写不同的方法,在不同的方法中处理不同的请求。在struts.xml中配置method属性,让不同的action指向同一个Action类的不同方法。\
如:<action name="checkLogin" class="myuser.UserAction" method="checkLogin"></action>
<action name="checkExists" class="myuser.UserAction" method="checkExists"></action>
<action name="adduser" class="myuser.UserAction" method="add">
3.感叹号方式:
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
不需要配置method,直接用!方法名的方式来调用。
DynamicMethodInvocation =动态方法调用
如:
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<package name="user" namespace="/" extends="struts-default">
<action name="user" class="myuser.UserAction">
<result name="success">/userlist.jsp</result>
</action>
</package>
调用的时候要这么写 如:action="user!add" post(user!checkLogin) post(user.checkLogin)等等!
4.通配符方式(官网推荐)
checkLogin
checkExists
add
delete
modify
引入: <action name="*" class="myuser.UserAction" method={1}>
注意:这些action代码都是写在struts.xml文件中的
name="*"假如*为add ,那么后面的方法也是add的方法,都是相对应的!
如:调用的时候就只要写方法的名字,如:action="add" post(checkLogin) post(checkExists)
</action>