一、Action的创建方式有三种
1.普通的java类作为Action;
2.创建一个类,继承ActionSupport类;
public class BookAction extends ActionSupport{
@Override
public String execute() throws Exception{
return "success";
}
}
3.创建类,实现接口Action。
public class Room implements Action {
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return null;
}
}
二、Action的访问方式
1.使用action标签的method属性,在这个属性里面写要执行的action的方法,如下:
<action name="hello" class="com.edu.action.HelloAction" method="hi">
<result name="ok">/hello.jsp</result>
</action>
2.使用动态方法调用的方式(不建议)
调用方式如下:
所配置的Action访问路径!方法名称 如:
<action name="Four" class="xxxxxx"> <result name="success">/add.jsp</result> </action>
在jsp页面中调用如下:
action="${pageContext.request.contextPath}/Four!add(action中的方法)"
然后还要在struts.xml文件中配置一个常量:
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
3.使用通配符映射方式
<action name="person_*" class="com.edu.action.PersonAction" method="{1}"> <result name="ok">/hello.jsp</result>
</action>
其中的{1}表示第一个参数即*,调用action时可以这么写:
结果如图:${pageContext.request.contextPath}/person_Action里的方法名。