在使用struts2的时候,我们在jsp中经常写这样的代码片段:
其中studentScores.student.stuName是对应后台action的熟悉,action是这样写的
public class StudentExamAction extends ActionSupport {
// 学生实体
private Student studentScores;
//查询学生的分数
public String queryScores(){
……
……
}
public Student getStudentScores() {
return studentScores;
}
public void setStudentScores(Student studentScores) {
this.studentScores = studentScores;
}
}
在action中设置了studentScores的getter/setter的属性,前台就可以使用对象名。属性名的方式设置或获取值了,studentScores.student.stuName当中,studentScores对象导航了两次,导航次数还比较少,当导航次数多了,造成了要写的字串很长,这是可以使用struts2的ModelDriven机制。
首先让action类继承ModelDriven接口,并实现getModel接口:
/**
*
*
* @author : xqf
* @group : tgb8
* @Date : 2013-12-31 14:07:29
* @Version : 1.0.0
*/
public class StudentExamAction extends ModelDriven {
// 学生实体
private Student studentScores;
//实现getModel方法
@Override
public Object getModel() {
if(studentScores == null){
studentScores = new studentScores();
}
return studentScores;
}