STRUCT标签当然有这种功能!非常实用!只要form中属性和页面上控件的名称一一对应就可以了!

解决方案 »

  1.   

    我知道这种(从界面对应对FORM中,然后再把form中的值对应到实体BEAN,用HIBERNATE的ORM进行插入操作),能返过来(不用REQUEST或SESSION存),比如修改操作,选择要修改的项,通过
    IbaseService service = (IbaseService)this.getObject("BaseService"); 
        ActionErrors errors=new ActionErrors(); 
        Long id = new Long(httpServletRequest.getParameter("id")); 
        BbsqForm form=(BbsqForm)actionForm;     try { 
          Bbsq obj=(Bbsq)service.findObject(Bbsq.class,id); 
          BeanUtil.beancopyProperties(form,obj); 
          return actionMapping.findForward(STRADD); 
        } 然后再从前台界面中取出!!!
      

  2.   

    你是想问为什么添加画面页面的项目是空白,而修改的页面项目是有值的?假设你的actionform已经在struts-config里设定为“request”,取名叫testform
    那么当页面加载的时候,struts采取的策略是,首先判断在request里是否存在名字叫testform的ActionForm类实例,如果存在,就直接用这个实例,那样如果页面上的项目名字和form中的名字相同就能直接重form中读到值,修改画面的值就是这么出来的。如果request里没有叫testform的ActionForm实例,struts会自动的定义一个testform实例,当然,这个实例是未经赋值的,画面上也就没有值。
    如果添加和修改用的同一个画面,那么画面加载的时候request里formbean的状态应该是不一样的,具体看你的代码了。不知道你想问的是不是这个,我随便说说我了解的一些基础知识。
      

  3.   

    如果你是想说,由于页面的重用而导致在添加的时候,文本框里显示的都是null,你想让他变成空白的话,那就很简单,你做个小方法,把这个做一个新的对象,全部的字段都设置为“”(空字符串),然后传过去。
      

  4.   

    struts配置文件的action中有两个属性,一个是name,一个是attribute
    name的主要作用是表单提交提取数据
    而attribute的作用是action返回数据是时候使用
    能够使用的前提是必须要使用struts标签才有效
    否则只能够通过scope属性的值点getAttribute取出来才能够用
    如果不用attribute属性
    action中类似功能的代码为:
    request/session.setAttribute();
    页面使用通过:
    request/session.getAttribute();
    这样效果就是一样的了
      

  5.   


    yingShisscWang和jumpheightway 能不能给个具体的例子!!邮箱为::[email protected]
      

  6.   

    Long id = new Long(httpServletRequest.getParameter("id")); 
    添加的时id没有值,findObject返回空的对象,beancopyProperties后form各属性就是空了