使用struts+hibernate,在显示数据jsp删除数据后再返回原页面,重新显示删除后的数据失败

herlioner 2018-02-13 09:22:44
action:
/**
* 删除学生信息
*/
public String delete(){
//根据jsp的stunum值删除对应学生信息
studentDAO.delete(student.getStunum());
//重新获得数据库内的所有的学生信息再重新赋值给students给jsp输出
students = studentDAO.list();
return "deletesuccess";
}
jsp:
<s:iterator value="students" var="student">
<tr><td>${student.stunum}</td>
<td>${student.stuname}</td>
<td>${student.sexnum}</td>
<td>${student.spenum}</td>
<td>${student.studate}</td>
<td>${student.stupad}</td>
<td>
<a href="<s:url action="studentdelete">
<s:param name="student.stunum">${student.stunum}</s:param>
</s:url>">删除</a>
<a href="<s:url action="turntostudentupdatepage">
<s:param name="student.stunum">${student.stunum}</s:param>
</s:url>">修改</a>
</td>
</tr>
</s:iterator>

问题描述:先在jsp页面显示所有student,点击删除后,可以删除成功,然后再重新转到之前的jsp页面显示删除后的student,发现前面没有显示,在action里面倒是可以在控制台里输出来,不知道为什么,求指导
...全文
1020 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 herlioner 的回复:
[quote=引用 1 楼 小钻风寻大观园的回复:]你要知道,对象的赋值运算是改变的地址。所以students = studentDAO.list();这句就改变了students的地址,而不是Struts2值栈中的地址了。jsp中的取值是从Struts2的值站中取值的。 也就是说students = studentDAO.list();并没有修改值栈中的值,只是将值栈中的students变成垃圾了。 dao层操作要带上students,如studentDAO.list(students);这样直接对值栈进行操作
所以我应该要重写dao的list方法是吗?[/quote] 可以不用,你也可以直接将学生列表加入到request域当中,也可以重写dao
herlioner 2018-02-14
  • 打赏
  • 举报
回复
引用 1 楼 小钻风寻大观园的回复:
你要知道,对象的赋值运算是改变的地址。所以students = studentDAO.list();这句就改变了students的地址,而不是Struts2值栈中的地址了。jsp中的取值是从Struts2的值站中取值的。 也就是说students = studentDAO.list();并没有修改值栈中的值,只是将值栈中的students变成垃圾了。 dao层操作要带上students,如studentDAO.list(students);这样直接对值栈进行操作
所以我应该要重写dao的list方法是吗?
  • 打赏
  • 举报
回复
你要知道,对象的赋值运算是改变的地址。所以students = studentDAO.list();这句就改变了students的地址,而不是Struts2值栈中的地址了。jsp中的取值是从Struts2的值站中取值的。 也就是说students = studentDAO.list();并没有修改值栈中的值,只是将值栈中的students变成垃圾了。 dao层操作要带上students,如studentDAO.list(students);这样直接对值栈进行操作

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧