请求Action的某个方法的时候,get开头的方法只调用了getModel,其它get***方法没有调用到,只是什么原因?
代码如下:@SuppressWarnings("serial")
public class Roles2Action extends ActionSupport implements ModelDriven<RolesDTO>{
@Autowired
private IRolesService rolesService;
private Map parameters;

private RolesDTO rolesDTO=new RolesDTO();
private List<RolesDTO> rows=new ArrayList<RolesDTO>();
private RolesQueryConditionDTO queryConditionDTO=new RolesQueryConditionDTO();

private int page = 1;
    private int pageRows = 10;
    private long total;

public String find(){
try {

Page<RolesDTO> rolesPage=rolesService.findRoles(queryConditionDTO, page, pageRows);
rows=rolesPage.getObjectsList();
total=rolesPage.getTotalRecordsCount();
return SUCCESS;
} catch (Exception ex) {
return ERROR;
}
} public RolesDTO getRolesDTO() {
return rolesDTO;
} public void setRolesDTO(RolesDTO rolesDTO) {
this.rolesDTO = rolesDTO;
} public List<RolesDTO> getRows() {
System.out.println("getRows");
return rows;
} public void setRows(List<RolesDTO> rows) {
this.rows = rows;
} public RolesQueryConditionDTO getQueryConditionDTO() {
return queryConditionDTO;
} public void setQueryConditionDTO(RolesQueryConditionDTO queryConditionDTO) {
this.queryConditionDTO = queryConditionDTO;
} public int getPage() {
return page;
} public void setPage(int page) {
this.page = page;
} public int getPageRows() {
return pageRows;
} public void setPageRows(int pageRows) {
this.pageRows = pageRows;
} public long getTotal() {
return total;
} public void setTotal(long total) {
this.total = total;
} public Map getParameters() {
return parameters;
} public void setParameters(Map parameters) {
this.parameters = parameters;
} @Override
public RolesDTO getModel() {
System.out.println("getModel");
return rolesDTO;

}}
最后不实现ModelDriven接口和去掉getModel的方法,其它get的方法又可以调用到。

解决方案 »

  1.   

    getModel 不能在这里用 用解耦吧
      

  2.   

    http://blog.csdn.net/hongtaq/article/details/8119689
    用这里面讲的第二种
      

  3.   

    用这个方法解决了我的问题,这里要感谢一下。不过,我还是想知道用ModelDriven<T>,为什么不行?
      

  4.   

    ModelDriven是有解耦之意的。
    估计当实现modeldriven接口后,注入方式就改用modeldriven了。
    值会注入到getModel()所return的对象里。