1. 开发
1.1 Action
1.1.1 不需要指定父类(ActionSupport)
1.1.2 业务方法的定义
public String xxx();//execute
注1:开启动态方法调用 (在struts配置文件中)
<struts>
<package name="book" namespace="/" extends="base">
<action name="bookaction_*" class="com.zking.action.BookAction" method="{1}">
<result name="index" type="">/index.jsp</result>
<result name="success"
//跳action是需要将type变为 redirectAction,默认为dispatcher跳转方式 type="redirectAction">bookaction_list.action</result>
<result name="failed" type="">/merge.jsp</result>
<result name="toupdate" type="">/merge.jsp</result>
<result name="remove" type="">/merge.jsp</result>
</action>
</package>
</struts>
示例:需要在Struts2配置文件中配置Action的标签(正则表达式,用来匹配你action中的方法)
(<allowed-methods>regex:.*</allowed-methods>)
2.1.3 Action是多例模式(注:在spring中的配置中一定要注意)
Action用来接收参数
2.2 参数赋值
2.2.1 Action中定义属性,并提供get/set方法
userName, getUserName/setUserName
2.2.2 ModelDriven(当action中需要给对象赋值时)
返回实体,不能为null,不需要提供get/set方法
2.2.3 ModelDriven返回实体和Action中属性重名,ModelDriven中优先级更高
2.3 与J2EE容器(tomcat)交互(可以获取response和request)
2.3.1 非注入
2.3.1.2 耦合
ServletActionContext
示例HttpServletRequest request = ServletActionContext.getRequest();
2.3.1.2 解耦(建议使用解耦模式)
ActionContext