实现ModelDriver接口的功能(转)

ModelDriver接口 来自com.opensymphony.xwork2.ModelDriven。是xwork-2.1.2-750.jar包的东西。

下面是源码:

package com.opensymphony.xwork2;

public abstract interface ModelDriven<T> {   public abstract T getModel(); }

 

该接口只有一个getModel()方法。主要作用是封装Object对象。实现接口时可以指定某个具体的Object对象类,如:

public class progressQueryAction extends CentricDefaultActionSupport implements Preparable,ModelDriven<LossSitesurvey>{

 public LossSitesurvey getModel() {
  return lossSitesurvey;
 }

}

当jsp页面中需要该对象的属性时,直接model.属性名即可得到该属性。而不用再在action中编写该对象的getset方法了,对象.属性名了。相当于默认的对象封装。方便操作。

 

使用ModelDriven的方式。该action继承ModelDriven接口,实现getModel()方法,方法只返回一个模型对象,默认转换Object。

最后Hello.jsp中可以使用<s:property
value=".."/>取值,value直接使用相应的age,name等。而action虽然提供的getModel()方法,但因为转为了Object,而Object不能提供取值的方法,所以无法使用value="model.xxx"来取值。

所谓ModelDriven ,意思是直接把实体类当成页面数据的收集对象。

posted @ 2017-03-26 23:23  Syria  阅读(184)  评论(0编辑  收藏  举报