求教 struts2 表单回写功能 本帖最后由 dreamguagua 于 2011-06-18 21:25:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个其实很简单,添加修改都用一个页面你在那个页面中的文本框中写上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">添加员工这样差不多就行了。 strits本身就提供了表单值回填的效果。你只要使用struts本身提供的标签输入就可以了。 2楼不要误导别人哦~~~其实就像3楼说的,只要用struts标签就可以实现了。新建时可以在相应的action中new一个新的新闻对象,编辑时在相应的action中根据传入的新闻的id把对应的新闻load出来,注意action要有一个新闻的属性,这样你就可以在页面中这样写 比如标题,<s:textfield id="title" name="xinwen.title"/>这样就OK了,如果还不明白可以加我QQ 835967446 你可以说一下哪里不对,我有添加的时候,不是写的让New一个新的对象,修改的时候根据id取值么? struts2标签本来就支持 数据回填你在action定义一个提交对象 页面用标签提交时以对象.属性的形式提交 就可以了如果是struts1 在action 执行完操作后 将参数重新放在request里面就可以了 关于对象类型转换 j2ee struts和hibernate 没有啥servlet的 问下要创建session的问题 跪求解决转码问题 java解析json 类型转换不成功时,struts2 的i18n没有起到作用 Query query = s.createQuery(sql); 执行ORACLE语法为什么报告错误呢,如果直接在SQL中执行没问题啊。 谁来帮我看看这个错误。谢谢 在EJB中调用远程方法 如何在Struts里面实现XML文档的下载而不要直接打开? 求救:tomcat5.0配置JDBC的问题 dwr问题--对象未定义 Myeclipse和weblogic的问题高分求解
你在那个页面中的文本框中写上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">添加员工这样差不多就行了。
你可以说一下哪里不对,我有添加的时候,不是写的让New一个新的对象,修改的时候根据id取值么?