struts 页面对象数据不更新的问题

coolzdp 2011-08-12 03:14:08
action:

public String GetCarPicInfo()
{
carpicinfolist.clear();

CarPhoto cp = new CarPhoto();

cp.setCarno("鲁K1111");
cp.setIotime("2011-07-04 00:00:00");
carpicinfolist.add(cp);

return "success";
}


显示页面 show.jsp
<body>
日期:<s:property value="picdate"/><br/>
<s:iterator value="carpicinfolist" id="carpic">
车牌3号:<s:property value="#carpic.carno"/>-<s:property value="#carpic.iotime"/><br/>
</s:iterator>
</body>

然后修改了
cp.setCarno("鲁K2222");
cp.setIotime("2011-08-04 00:00:00");
carpicinfolist.add(cp);
结果show.jsp里的内容还是上次的数据 鲁K1111 2011-07-04 00:00:00

<s:property value="picdate"/> 这个picdate倒是可以更新
重启tomcat
carpicinfolist才更新。请问是什么原理怎么解决
...全文
85 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
binloveyou 2011-08-12
  • 打赏
  • 举报
回复
虽然没解决方法 , 顶一下
lovezhan822 2011-08-12
  • 打赏
  • 举报
回复
我觉得是缓存的问题
amtea 2011-08-12
  • 打赏
  • 举报
回复

开发模式,修改工程配置文件可以不用重启tomcat,看看是不是这个原因

<struts>
<constant name="struts.devMode" value="true"></constant>
<!-- 其他action内容-->
</struts>
luohuijun619 2011-08-12
  • 打赏
  • 举报
回复
可能是缓存问题,lz重新发布下,
蛋黄车 2011-08-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fireelf000 的回复:]
tomcat默认是不会热加载class的,虽然可以通过配置解决,但是不建议热加载,这是引起内存溢出的一大主因
[/Quote]

嗯,是可以通过在sever.xml中设置reload参数的。但是不建议这么做。一般情况下,如果类文件发生改变,需要重启服务器。

另外一个解决办法,我觉得可以通过动态类加载器来完成~
fireelf000 2011-08-12
  • 打赏
  • 举报
回复
tomcat默认是不会热加载class的,虽然可以通过配置解决,但是不建议热加载,这是引起内存溢出的一大主因
softroad 2011-08-12
  • 打赏
  • 举报
回复
Project --- build auto..
coolzdp 2011-08-12
  • 打赏
  • 举报
回复
那怎么才能自动更新class。
我现在clean了也没用必须重启tomcat
softroad 2011-08-12
  • 打赏
  • 举报
回复
页面生成的文件在work下,class在WEB-INF/classes
蛋黄车 2011-08-12
  • 打赏
  • 举报
回复
另外一种情况是,你的IDE工具没有实时自动编译。也可能会导致改后的java文件还是走的原来的代码~
蛋黄车 2011-08-12
  • 打赏
  • 举报
回复
tomcat缓存,work就是一个缓存文件。因为你改的是java文件。编译后,对应的Class类文件已经放到了缓存文件夹下了~
coolzdp 2011-08-12
  • 打赏
  • 举报
回复
不是自动加载的问题吧,因为show.jsp随便改都自动加载了。
<body>
日期:<s:property value="picdate"/><br/> // 这个request变量可以随改随更新
<s:iterator value="carpicinfolist" id="carpic"> // 这个对象改了就不更新
车牌3号:<s:property value="#carpic.carno"/>-<s:property value="#carpic.iotime"/><br/>
</s:iterator>
</body>
softroad 2011-08-12
  • 打赏
  • 举报
回复
代码改后,tomcat没有自动加载,找找tomcat 热加载的文章

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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