结果跳转方式
1.转发
// 在struts.xml配置里面,默认就是dispatcher,可以不填
<result name="success" type="dispatcher">/xxx.jsp</result>
3.重定向
// 在struts.xml配置里
<result name="success" type="redicter">/xxx.jsp</result>
4.转发到Action
<!-- 转发到Action -->
<action name="Demo3Action" class="cn.zhli13.a_result.Demo3Action" method="execute" >
<result name="success" type="chain">
<!-- action的名字 -->
<param name="actionName">Demo1Action</param>
<!-- action所在的命名空间 -->
<param name="namespace">/</param>
</result>
</action>
5.重定向到Action
<!-- 重定向到Action -->
<action name="Demo4Action" class="cn.zhli13.a_result.Demo4Action" method="execute" >
<result name="success" type="redirectAction">
<!-- action的名字 -->
<param name="actionName">Demo1Action</param>
<!-- action所在的命名空间 -->
<param name="namespace">/</param>
</result>
</action>
访问servletAPI方式
1.原理
通过ActionContext
// 不推荐用原生request域,推荐ActionContext存值
ActionContext.getContext().put("name", "aaa");
// session域 => map
Map<String, Object> sessionScope = ActionContext.getContext().getSession();
sessionScope.put("name", "aaa");
// application域 => map
Map<String, Object> applicationScope = ActionContext.getContext().getApplication();
applicationScope .put("name": "bbb");
如何获得参数
servlet线程是不安全的,servlet在运行期间只会创建一个实例
每次请求到来时,都会创建一个新的Action实例,Action是线程安全的.可以使用成员变量接收参数
// 方式1:属性驱动获得参数
//准备与参数键名称相同的属性
private String name;
//自动类型转换 只能转换8大基本数据类型以及对应包装类
private Integer age;
//支持特定类型字符串转换为Date ,例如 yyyy-MM-dd
private Date birthday;
// 方式2:对象驱动
//js参数
<input name="user.name" type="text"/>
//java
public class Demo9Action extends ActionSupport {
//准备user对象
private User user;
public String execute() throws Exception {
System.out.println(user);
return SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
// 方式3:模型驱动 implements ModelDriven<User>
public class Demo10Action extends ActionSupport implements ModelDriven<User> {
//准备user 成员变量
private User user =new User();
public String execute() throws Exception {
System.out.println(user);
return SUCCESS;
}
@Override
public User getModel() {
return user;
}
}
集合参数类型封装
//list
private List<String> list;
//Map
private Map<String,String> map;
注意:struts和hibernate包在合并时.javassist-3.18.1-GA.jar包是重复的,删除版本低的.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。