我们现在两个参数。就要在Action写很多代码。那么以后如果有几十个参数。那我们的Action类就变得很臃肿了。
其实struts2可以让我们把这些参数封装到一个类里面。然后直接在Action中添加这个类属性就可以。
下面我们添加一个CategoryModel的类
把id和name的字段拷贝过去
package cn.bamn.struts.models;
public class CategoryModel {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}Code language: JavaScript (javascript)
在CategoryAction中添加一个CategoryModel的属性。
public class CategoryAction extends ActionSupport {
private CategoryModel categoryModel;
public CategoryModel getCategoryModel() {
return categoryModel;
}
public void setCategoryModel(CategoryModel categoryModel) {
this.categoryModel = categoryModel;
}
public String index(){
return "index";
}
public String add(){
System.out.println("ID:"+categoryModel.getId());
System.out.println("NAME:"+categoryModel.getName());
return "add";
}
public String del(){
return "del";
}
}Code language: PHP (php)
然后JSP中这样调用。
<s:property value="categoryModel.getName()" />Code language: HTML, XML (xml)
然后我们访问下面地址
http://p50:8080/Struct6Demo/admin/Category_add?categoryModel.id=1&categoryModel.name=ddd
一样可以访问到
Previous: 09-Action方法接收参数和在视图jsp中获取这些值
Next: 11-模型驱动ModelDriven的使用