struts2 ——action接受参数的三种方式总结
2016-12-31 22:01
405 查看
一、用Action属性接收参数
在自己的Action里面设置属性并设置set方法,在new
Action时会自动从参数中将相应的属性设置。Struts2在设置属性时会调用相应的set方法。
注:其实接受参数调用的是set方法,返回参数调用的是get方法,这就是为什么action中的属性get,set方法同时存在的原因
action:
//1· 使用get,set方法返回,接收参数
private Integer id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
private String descrition;
private String name;
public String getDescrition() {
return descrition;
}
public void setDescrition(String descrition) {
this.descrition = descrition;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
jsp页面:
<!-- 值栈方式接收 -->
<s:iterator value="#roleList">
<s:property value="id"/>
<s:property value="name"/>
<s:property value="descrition"/>
<s:a action ="role_delete?id=%{id}" onclick="return confirm('你确定要删除吗?')">删除</s:a>
<s:a action ="role_updateUI?id=%{id}">修改</s:a>
<br>
</s:iterator>
<s:a action ="role_addUI">新增</s:a>
二、用DomainModel(域模型)接受参数
设置相应的域模型(由系统自动构造时,注意域模型里必须要有参数为空的构造函数)
package ca.itcase.OA.domain;
/**
* 岗位
* @author 贾丽敏
*
*/
public class Role {
private Integer id;
private String name;
private String descrition;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescrition() {
return descrition;
}
public void setDescrition(String descrition) {
this.descrition = descrition;
}
}
在Action中不用存多个属性,而是声明一个User对象,并设置set、get方法。Struts2会自动newUser对象,而不用手工输入
//2· 使用DomainModel(域模型)接受参数 演示
private Role role;
public Role getRole() {
return role;
}
public void setRole(Role role) {
this.role = role;
}
JSP页面这样传参:
<!-- 对象方式接收 -->
<s:property value="role.id"/>
<s:property value="role.name"/>
<s:property value="role.descrition"/>
<s:a action ="role_delete?id=%{role.id}" onclick="return confirm('你确定要删除吗?')">删除</s:a>
<br>
三、用DrivenModel接受参数
使用DrivenModel方法接受参数要先实现DirvenModel接口,并在Action中存在getModel()方法,需要自己new一个对象接受Model
//使用模型驱动接受参数
private Role model = new Role();
@Override
public Role getModel() {
return model;
}
jsp页面:
<s:iterator value="#roleList">
<s:property value="id"/>
<s:property value="name"/>
<s:property value="descrition"/>
<s:a action ="role_delete?id=%{id}" onclick="return confirm('你确定要删除吗?')">删除</s:a>
<s:a action ="role_updateUI?id=%{id}">修改</s:a>
<br>
</s:iterator>
<s:a action ="role_addUI">新增</s:a>
三种接受参数方式的对比总结:简单明了
在自己的Action里面设置属性并设置set方法,在new
Action时会自动从参数中将相应的属性设置。Struts2在设置属性时会调用相应的set方法。
注:其实接受参数调用的是set方法,返回参数调用的是get方法,这就是为什么action中的属性get,set方法同时存在的原因
action:
//1· 使用get,set方法返回,接收参数
private Integer id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
private String descrition;
private String name;
public String getDescrition() {
return descrition;
}
public void setDescrition(String descrition) {
this.descrition = descrition;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
jsp页面:
<!-- 值栈方式接收 -->
<s:iterator value="#roleList">
<s:property value="id"/>
<s:property value="name"/>
<s:property value="descrition"/>
<s:a action ="role_delete?id=%{id}" onclick="return confirm('你确定要删除吗?')">删除</s:a>
<s:a action ="role_updateUI?id=%{id}">修改</s:a>
<br>
</s:iterator>
<s:a action ="role_addUI">新增</s:a>
二、用DomainModel(域模型)接受参数
设置相应的域模型(由系统自动构造时,注意域模型里必须要有参数为空的构造函数)
package ca.itcase.OA.domain;
/**
* 岗位
* @author 贾丽敏
*
*/
public class Role {
private Integer id;
private String name;
private String descrition;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescrition() {
return descrition;
}
public void setDescrition(String descrition) {
this.descrition = descrition;
}
}
在Action中不用存多个属性,而是声明一个User对象,并设置set、get方法。Struts2会自动newUser对象,而不用手工输入
//2· 使用DomainModel(域模型)接受参数 演示
private Role role;
public Role getRole() {
return role;
}
public void setRole(Role role) {
this.role = role;
}
//删除岗位 public String delete(){ roleServices.delete(role.getId()); return "tolist"; }
JSP页面这样传参:
<!-- 对象方式接收 -->
<s:property value="role.id"/>
<s:property value="role.name"/>
<s:property value="role.descrition"/>
<s:a action ="role_delete?id=%{role.id}" onclick="return confirm('你确定要删除吗?')">删除</s:a>
<br>
三、用DrivenModel接受参数
使用DrivenModel方法接受参数要先实现DirvenModel接口,并在Action中存在getModel()方法,需要自己new一个对象接受Model
//使用模型驱动接受参数
private Role model = new Role();
@Override
public Role getModel() {
return model;
}
//删除岗位 public String delete(){ roleServices.delete(model.getId()); return "tolist"; }
jsp页面:
<s:iterator value="#roleList">
<s:property value="id"/>
<s:property value="name"/>
<s:property value="descrition"/>
<s:a action ="role_delete?id=%{id}" onclick="return confirm('你确定要删除吗?')">删除</s:a>
<s:a action ="role_updateUI?id=%{id}">修改</s:a>
<br>
</s:iterator>
<s:a action ="role_addUI">新增</s:a>
三种接受参数方式的对比总结:简单明了
相关文章推荐
- 【代码总结】Struts2 Action接受参数方式的对比
- Struts2-Action接受参数方式、method属性使用及通配符的配置
- struts2在Action中接收参数的三种方式
- Struts2系统学习(6)action中方法调用的三种方式总结
- struts2 action参数接受方式
- struts2中,接受参数的三种方式
- Struts2 访问Action中的指定方法 三种方式的总结
- 【Struts2】Action接收参数的三种方式
- Struts2 的三种接受参数的方式
- Struts2总结---实现Action三种方式(2)
- 《struts2接受输入参数的三种方式》
- ssh框架总结action接收参数的三种方式页面访问的方式
- struts2 action获取jsp参数的三种方式
- Struts2 的三种接受参数的方式
- Struts2 入门 三(Struts Action类的实现方式 接收参数的方式 )
- Struts2中表单与Action传递数据三种方式
- Struts2中Action接收参数的方法主要有以下三种:
- Struts2页面到action的三种传值方式
- struts2 lesson one: 的action特征,三种创建方法,action接收表单数据的三种访问,读取方式
- Struts2中jsp前台传值到action后台的三种方式以及valueStack的使用