论坛首页 Java企业应用论坛

关于WEBWORK中的modelDriven的一点疑问.

浏览 3810 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-09-05  
有个疑问,向大家请教:
在夏昕写的WEBWORK开发指南中,提到过实现MODELDRIVERN接口.
但我在实际应用中(用的是2.2.2版),根本或者说很少用过getModel().就算实现了getModel(),也是直接在里面return null .在我认为,不管什么时候时候实现GETMODEL都没什么实际作用,没有它也可以做成任何事.那么,请问实现MODELDRIVERN接口,有什么实际作用吗??? 能否举一二个例子说明一下??或者那位高手说一下实现MODELDRIVERN的好处...

我的一个ACTION实例.(作为参考,可以不看,只是为了说明不用getModel().也能完成所需.)
package com.xqs.wjd.web.service.action.ydagl;

import java.io.File;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork.Action;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ModelDriven;
import com.xqs.basic.model.Datumtypedict;
import com.xqs.basic.model.Deptdict;
import com.xqs.basic.model.Electrfiles;
import com.xqs.basic.model.Master;
import com.xqs.sys.ReadConstantl;
import com.xqs.wjd.web.service.ydagl.ElectronFile;

/**
* <p>Title:王家敦GIS资料管理系统</p>
*
* <p>Description:电子文件上传,浏览的ACTION</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* @author (xiaqingsong)
*
* @version 1.0
*
*<p>Date:2006-9-5</p>
*
*/
public class ElectronFileAction implements Action, ModelDriven {

private final static String FILE_VIEW = "fileView";

private File file;

private String filename;// 文件名

private String act;// 动作

private Electrfiles electrfiles;// 电子资料

private Master master;// 人员信息

private String datumtypeid;// 资料类型ID

private String datumbasicinfoid;

private List<Electrfiles> eleFileList;

private String currentPage = "1";

private String pageSize = ReadConstantl.getPageSize();

private String[] fileid ;//删除时接受的文件ID列表

private long pageCount;

private long rowCount;

private long pageFirstNum;//每一页的第一条记录的排号.

private String deptId;//

private List<Deptdict> deptList;

private List<Datumtypedict> typeList;

private long prePageNum ;//前一页

private long nextPageNum;//下一页

@SuppressWarnings("unchecked")
public String execute() throws Exception {
Map session = ActionContext.getContext().getSession();
master = (Master)session.get("user");
String returnStr = ERROR;
ElectronFile electronFile = new ElectronFile();
if (act.equals("add")) {
electrfiles = electronFile.addFile(file, master, datumbasicinfoid, datumtypeid,deptId);
if (electrfiles != null){
eleFileList = electronFile.gotoPage(datumbasicinfoid, currentPage,pageSize);
pageCount = electronFile.getPageCount();
rowCount = electronFile.getRowCount();
}
if (electrfiles != null && eleFileList.size() > 0){
setPageFirstNum();
deptList = electronFile.getDeptList();
setNextPageNum();
setPrePageNum();
returnStr = SUCCESS;
}
}
if (act.equals("select")) {
eleFileList = electronFile.gotoPage(datumbasicinfoid, currentPage, pageSize);
pageCount = electronFile.getPageCount();
rowCount = electronFile.getRowCount();
deptList = electronFile.getDeptList();
setNextPageNum();
setPrePageNum();
returnStr = FILE_VIEW;
}
if (act.equals("del")) {
eleFileList = electronFile.gotoPage(datumbasicinfoid, currentPage, pageSize);
if (electrfiles != null && eleFileList.size() > 0) returnStr = SUCCESS;
}
return returnStr;
}

public Object getModel() {
return null;
}// 大部份这里是为NULL

public void setUploadFileName(String filename) {
this.filename = filename;
}

public File getFile() {
return file;
}

public void setFile(File file) {
this.file = file;
}

public String getFilename() {
return filename;
}

public String getAct() {
return act;
}

public void setAct(String act) {
this.act = act;
}

public String getDatumbasicinfoid() {
return datumbasicinfoid;
}

public void setDatumbasicinfoid(String datumbasicinfoid) {
this.datumbasicinfoid = datumbasicinfoid;
}

public String getCurrentPage() {
return currentPage;
}

public void setCurrentPage(String currentPage) {
this.currentPage = currentPage;
}

public String getDatumtypeid() {
return datumtypeid;
}

public void setDatumtypeid(String datumtypeid) {
this.datumtypeid = datumtypeid;
}

public Electrfiles getElectrfiles() {
return electrfiles;
}

public void setElectrfiles(Electrfiles electrfiles) {
this.electrfiles = electrfiles;
}

public List<Electrfiles> getEleFileList() {
return eleFileList;
}

public void setEleFileList(List<Electrfiles> eleFileList) {
this.eleFileList = eleFileList;
}

public Master getMaster() {
return master;
}

public void setMaster(Master master) {
this.master = master;
}

public String getPageSize() {
return pageSize;
}

public void setPageSize(String pageSize) {
this.pageSize = pageSize;
}

public void setFilename(String filename) {
this.filename = filename;
}

public String[] getFileid() {
return fileid;
}

public void setFileid(String[] fileid) {
this.fileid = fileid;
}

public long getPageCount() {
return pageCount;
}

public void setPageCount(long pageCount) {
this.pageCount = pageCount;
}

public long getRowCount() {
return rowCount;
}

public void setRowCount(long rowCount) {
this.rowCount = rowCount;
}

public long getPageFirstNum() {
return pageFirstNum;
}

public void setPageFirstNum() {
this.pageFirstNum = Integer.parseInt(pageSize) * (Integer.parseInt(currentPage) - 1);
}

public String getDeptId() {
return deptId;
}

public void setDeptId(String deptId) {
this.deptId = deptId;
}

public List<Deptdict> getDeptList() {
return deptList;
}

public void setDeptList(List<Deptdict> deptList) {
this.deptList = deptList;
}

public List<Datumtypedict> getTypeList() {
return typeList;
}

public void setTypeList(List<Datumtypedict> typeList) {
this.typeList = typeList;
}

public long getNextPageNum() {
return nextPageNum;
}

public void setNextPageNum() {
if(!currentPage.equals(String.valueOf(pageCount)))
this.nextPageNum = Long.valueOf(currentPage) + 1;
else this.nextPageNum = pageCount;
}

public long getPrePageNum() {
return prePageNum;
}

public void setPrePageNum() {
if(!currentPage.equals("1"))
this.prePageNum = Long.valueOf(currentPage) - 1;
else this.prePageNum =1;
}
}
   发表时间:2006-09-06  
谁能解惑??看过一些老贴,好多都是2004年滴,有些已经过时了,跟现在的WEBWORK2.2.4的概念混在一起,让人一头雾水.
0 请登录后投票
   发表时间:2006-10-09  
我也是刚开始学webwork的,因为e文和经验的问题,很多文档都看的半懂不懂的,发现以前的老文档和新版本还是有区别的。本来想发个新主题的,但是发现这个论坛的要求比较严格,就在楼主的帖子下顺便提个要求,有没有哪为兄弟能对新版本的webwork做些介绍的啊。
0 请登录后投票
   发表时间:2006-12-15  
帖子好长呀,看帖子时候太困了,不好意思,就没有看完。
感觉你只是实现了ModelDriven接口,然后简单实现了getModel()方法。并没有用到webwork里的ModelDriven机制。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics