struts动态方法调用

来源:互联网 发布:淘宝折扣代购 编辑:程序博客网 时间:2024/05/21 17:32

首先我们写出对应实现的action类:

public class UserAction extends ActionSupport implements ModelDriven<User>{private static Logger log=Logger.getLogger(UserAction.class);@Overridepublic String execute() throws Exception {log.debug("执行execute()方法>>>>>>");return "success";}public String add(){log.debug("执行add()方法>>>>>>");return "ADD";}public String update(){log.debug("执行update()方法 >>>>>>");return "UPDATE";}public String delete(){log.debug("执行delete()方法 >>>>>>");return "DELETE";}}



方法一:

1:Action的method属性完成动态方法调用 


<!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"    "http://struts.apache.org/dtds/struts-2.5.dtd"><struts><package name="student" namespace="/" extends="struts-default"><action name="user" class="com.ittx.strutsproject.action.UserAction"><result>/sucess.jsp</result></action><action name="userAdd" class="com.ittx.strutsproject.action.UserAction" method="add"><result name="ADD">/add_student.jsp</result></action><action name="userUpdate" class="com.ittx.strutsproject.action.UserAction" method="update"><result name="UPDATE">/update_student.jsp</result></action><action name="userDelete" class="com.ittx.strutsproject.action.UserAction" method="delete"><result name="DELETE">/result.jsp</result></action></package></struts>



方法二:
2:感叹号方式 !

<!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"    "http://struts.apache.org/dtds/struts-2.5.dtd"><struts>    <!--#让struts2支持动态方法调用;并且可以将它声明到静态文件配置里struts.enable.DynamicMethodInvocation=true--><package name="student" namespace="/" extends="struts-default">    <!-- 解决struts2.5 通配符调用无效的问题 --><global-allowed-methods>regex:.*</global-allowed-methods><action name="user" class="com.ittx.strutsproject.action.UserAction"><result>/sucess.jsp</result><result name="ADD">/add_student.jsp</result><result name="UPDATE">/update_student.jsp</result><result name="DELETE">/result.jsp</result></action></package></struts>



对应的静态页面设置 :struts.properties

#让struts2支持动态方法调用


struts.enable.DynamicMethodInvocation=true




方法三:也是最常用的一种
3:通配符方式 

<!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"    "http://struts.apache.org/dtds/struts-2.5.dtd"><struts><package name="student" namespace="/" extends="struts-default"><!-- 解决struts2.5 通配符调用无效的问题 --><global-allowed-methods>regex:.*</global-allowed-methods><action name="user_*" class="com.ygr.struts.action.UserAction"method="{1}"><result name="success">/success.jsp</result><result name="add">/add.jsp</result><result name="update">/update.jsp</result><result name="delete">/delete.jsp</result></action></package></struts>



上述访问格式为://http:ip+8080+项目名称 user_对应的方法(add||update||delete)do


注:这里可以有多个*号。第几个*号就用数字表示几。上述方法为最常用的方法

0 0
原创粉丝点击