struts2_action的调用方法,通过struts.xml配置和调用的路径配合,有三种,
一、struts.xml配置文件中,action标签中写上method=“add”,调用时只需找到这个action即可调用该action的add()方法、
<action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction" method="add">
<result>/user_add_success.jsp</result>
</action>
<a href="<%=context %>/user/userAdd">添加用户</a>
二、struts.xml配置文件中,action标签中不需要写method,只需要写上对应的java类User,调用时,在对应的action名字user后面加上一个“!”加上想要调用的方法名add或者del即可调用相对应的方法
package com.bjsxt.struts2.user.action; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { public String add() { return SUCCESS; } public String del() { return SUCCESS; } }
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
<result>/user_add_success.jsp</result>
</action>
<a href="<%=context %>/user/user!add">添加用户</a> <a href="<%=context %>/user/user!del">删除用户</a>
三、通配符,这种方式非常简洁,但是需要非常强大的约定,action的名字,方法的名字,返回值,jsp页面名字等等。
下面给一些代码示例,简单说明一下。
1、struts. xml文件
<package name="actions" extends="struts-default" namespace="/actions"> <action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}"> <result>/Student{1}_success.jsp</result> </action> <action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}"> <result>/{1}_{2}_success.jsp</result> </action> </package>
2、action文件
TeacherAction
package com.bjsxt.struts2.action; import com.opensymphony.xwork2.ActionSupport; public class TeacherAction extends ActionSupport { public String add() { return SUCCESS; } public String delete() { return SUCCESS; } }
StudentAction
package com.bjsxt.struts2.action; import com.opensymphony.xwork2.ActionSupport; public class StudentAction extends ActionSupport { public String add() { return SUCCESS; } public String delete() { return SUCCESS; } }
3、jsp文件调用
使用通配符,将配置量降到最低<br /> <a href="<%=context %>/actions/Studentadd">添加学生</a> <a href="<%=context %>/actions/Studentdelete">删除学生</a> <br /> 不过,一定要遵守"约定优于配置"的原则 <br /> <a href="<%=context %>/actions/Teacher_add">添加老师</a> <a href="<%=context %>/actions/Teacher_delete">删除老师</a> <a href="<%=context %>/actions/Course_add">添加课程</a> <a href="<%=context %>/actions/Course_delete">删除课程</a>
4、jsp一些页面的命名