Struts是MVC架构,主要完成的是C部分操作M和V都是要自己写的。。分层。。做DAO层。。一般都是实现一个接口。例如public interface SuperBuilder {
Object load(String unitID);//读取指定编号的对象
void save(AbstractSuper obj);//保存或创建对象
void delete(AbstractSuper obj);//删除指定对象
Collection Query(Hashtable param);//查询
}然后编写实现类调用,结合Hiberante和Spring方便将来程序的扩展和更改数据库等等

解决方案 »

  1.   

    可是用lookupdispatchaction也不能完成1个action实现对一个表的所有操作吧?我struts_config.xml里面给action一个parameter参数 就是实现不了
      

  2.   

    建议Lz看看lookupdispatchaction是怎么回事。
      

  3.   

    <action path="/articleManager" type="com.hardware.action.ArticleAction"
    parameter="method" name="articleForm" scope="request">      <forward name="toPublish" path="/ArticleForm.jsp"/>
          <forward name="toList" path="/articleList.jsp"/>
     </action> class ArticleAction extends DispatchAction 
    {
       ActionForward doAddNew(ActionMapping mapping,ActionForm ........  ActionForward doList(ActionMapping mapping,ActionForm....
      {
        .................
      }
    }
    这样调用
    articleManager?method=doList
      

  4.   

    这是我的Action类
    package com.struts.action;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.actions.DispatchAction;import com.isofttone.struts.form.UserForm;
    import com.isofttone.vo.UserVo;
    import com.isofttone.dao.UserDao;
    public class UserAction extends DispatchAction {

    public  ActionForward UserReg(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response) {
    UserForm userForm = (UserForm) form;
    String username=userForm.getUsername();
    String password=userForm.getPassword();
    String forward=null;
    UserVo uservo=new UserVo();
    uservo.setUsername(username);
    uservo.setPassword(password);
    boolean flag=UserDao.Insert(uservo);
    if(flag){
    forward="addok";
    }
    else
    {
    forward="fail";
    }
    return mapping.findForward(forward);
    }
    public ActionForward Modify_User(ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response){
    }
    public ActionForward FindAllUser(ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response){

    }
    }
    没有写完
    下面是我的struts-config.xml中的;
    <action attribute="userForm"

    name="userForm" path="/user" scope="request"
    type="com.isofttone.struts.action.UserAction"
    parameter="method">
    怎么实现插入以及修改,删除,查看等功能在这一个action中实现呢?我主要是不明白多个jsp里面该怎么搞 
    lookupdispatchaction好象是对不同的按纽进行不同的操作 但是比如说index.jsp和moidifyuser.jsp等页面同样可以执行这样的操作吗?请大家给我一个完整的答案好吗?谢谢了

    <forward name="addok" path="/success.jsp?op=4" />
    <forward name="fail" path="/fail.jsp" />
      

  5.   

    如果LZ只是要实现不同也面的action,用dispatchaction就够了。
    如果LZ想在同一页面实现两个或两个以上的acion,建议用lookupdispatchaction。
    至于怎么用,建议LZ去看看书。
    基本上struts书籍都会写action操作的。
      

  6.   

    给你回信息,提示没这个人,所以我只有在这说了。
    你问:
    大哥 dispatchAction可以实现多页面多Form吗?具体怎么实现 就说在struts-config.xml中如何配置 教教我吧?=====================================================================================
    我对你的多页面多Form不甚了解,就是指一个页面一个form,但是有多个页面,所以就有多个form;还是一个页面有几个form?
      

  7.   

    把增、修、删、查页面上的所有不同的域都写在一个form里
      

  8.   

    就是指一个页面一个form,但是有多个页面,所以就有多个form; 然后都调用dispatchAction操作 可以实现? 那struts-config.xml如何配置
      

  9.   

    看看这片文章:对你有帮助:
    http://www.blogjava.net/sean/archive/2005/01/15/336.html
      

  10.   

    真的就只有象xuelei81(阿薛) 所说的那种方法了吗? 我就是感觉数据库 中一个表就需要很多action 很是不爽 
      

  11.   

    就是指一个页面一个form,但是有多个页面,所以就有多个form; 然后都调用dispatchAction操作 可以实现? 那struts-config.xml如何配置
    ====================================================================
    为什么要多个页面呢?难道你的操作的动作等域都不同,也就是说,你增加是操作一些文本框,而修改是操作另外的一些文本框?如果不是,一个页面,一个form就够了,因此你用dispatchAction也就购了。
    dispatchAction怎么用,到google一搜就全知道了
      

  12.   

    用一个form对应多个jsp页面操作 那就只能这么做罗 呵呵 郁闷了 好久dispatchAction我会用 就是这个form问题解决不了 Ok了 谢谢大家