本帖最后由 dreamguagua 于 2011-06-18 21:25:52 编辑

解决方案 »

  1.   

    这个其实很简单,添加修改都用一个页面
    你在那个页面中的文本框中写上value=“”,这里取你传过去的值,添加的页面肯定没有值,修改页面的话,从action中取到根据id传来的值,而点添加的话,你也可以选择跳转到action的一个方法中,这个方法你清空在界面要取得的象的值,这样,添加页面就是空的值了。而修改可以取到对应的值
    我以前做过的东西部分代码: /*
     * 添加
     */
    public String toAdd() {
    //设置empInfo的目的是:将数据清空
    empInfo = new Employee();
    request.setAttribute("empInfo", empInfo);
    //得到员工列表的集合
    List<Dept> deptList = deptDao.getDeptList();
    //在界面上动态生生部门的集合
    request.setAttribute("deptList", deptList);
    optType = "add";
    return "toAdd";
    } /*
     * 修改员工信息
     */
    public String update() {
    empService.update(empInfo);
    return "update";
    }
    <result name="toAdd">content/emp/emp_update.jsp</result>
    <result name="update" type="chain">EmplistAction</result>
    <result name="save" type="chain">EmplistAction</result>/*
     * 添加
     */
    public String save() {
    empService.save(empInfo);
    return "save";
    }
    这是修改界面一个文本框
    <div class="div1">
    <span class="span1">姓名</span>
    <span><s:textfield name="empInfo.empName"
    value="%{#request.empInfo.empName}" cssClass="txt1"
    cssStyle="width:260px;"></s:textfield>
    </span>
    </div>
    列表界面修按钮的写法
    <a target="main" href="EmpfindAction.action?empInfo.empId=<s:property value="#empInfo.empId"/>">修改</a>添加员工连接
    <a href="EmptoAddAction.action" target="main">添加员工这样差不多就行了。
      

  2.   

    strits本身就提供了表单值回填的效果。你只要使用struts本身提供的标签输入就可以了。
      

  3.   

    2楼不要误导别人哦~~~其实就像3楼说的,只要用struts标签就可以实现了。新建时可以在相应的action中new一个新的新闻对象,编辑时在相应的action中根据传入的新闻的id把对应的新闻load出来,注意action要有一个新闻的属性,这样你就可以在页面中这样写 比如标题,<s:textfield id="title" name="xinwen.title"/>这样就OK了,如果还不明白可以加我QQ 835967446
      

  4.   


    你可以说一下哪里不对,我有添加的时候,不是写的让New一个新的对象,修改的时候根据id取值么?
      

  5.   

    struts2标签本来就支持 数据回填你在action定义一个提交对象 页面用标签提交时以对象.属性的形式提交 就可以了如果是struts1 在action 执行完操作后 将参数重新放在request里面就可以了