标题:跳页,出BeanUtil.populate错误-->千里冰封转移
取消只看楼主
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
结帖率:66.67%
 问题点数:0 回复次数:8 
跳页,出BeanUtil.populate错误-->千里冰封转移
出错的程序是用structs开发的。
现在一个页面里包含多个select标签以及隐藏的标签。还有FormFile对象,用于上传文件。
从别的页面进入,都一切正常,但是从这个页面跳转到某个页面(目前发现的唯一一个出这个错误的页面),就会出错,报的错误是:BeanUtil.populate。

跟了一下代码,走了调用下一个页面的javascript方法,但是action没有走到就出错了。

更奇怪的是,跳转到其他页面都没有问题。

哪位大侠知道这个错误是什么引起的?如何解决阿?哪怕是可能出错的地方也行啊。

ps:FormFile对象是分开定义的,不是数组,是单个的对象。
搜索更多相关主题的帖子: BeanUtil populate 千里冰封 页面 FormFile 
2007-09-03 15:10
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
得分:0 
没人知道啊

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2007-09-04 13:45
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
得分:0 
看了,log里打的就是BeanUtil.populate。

然后把这个画面的所有select的隐藏变量去掉,就不会出错了。(但是其他业务处理需要这些隐藏变量的,还不能去)

要说是类型不一致。跳页调用的是另外一个画面的initialAction。原画面的数据不会赋值给跳转后的页面啊。
没有数据的赋值一说,还会发生类型不一致么?

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2007-09-05 09:31
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
得分:0 
在我的页面里,比如A.jsp,通过点击一个按钮,触发onclick事件,调用的B页面的initialAction.do。
那请问版主,你说的那个类型不匹配,是A的ActionForm还是B的ActionForm呢?

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2007-09-05 13:00
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
得分:0 

那就是B页面的actionForm出现类型不匹配了吧?

但是不从A页面,从其他任何页面调用B页面的intialAction.do,都正常。


成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2007-09-05 15:29
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
得分:0 
斑竹啊,不是在form的action里调用。
调用.do,不是和.jsp一样么?
在structs配置文件里已经写了action成功的话走哪个jsp,不成功的话走哪个jsp的。
B的intialAction成功后走的就是B的jsp页面啊。


成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2007-09-05 16:44
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
得分:0 
A页面 -〉点击 按钮 -〉调用B页面的initialAction.do ,然后就出错了,页面链接显示B页面的action.do
但是B页面的initialAction.java打了断点也没有走。

log里报beanUtil.populate的错。

ps:从A页面进入其他页面都正确,从其他页面进入B页面也正确,唯独,从A页面进入B页面不正确。

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2007-09-05 17:12
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
得分:0 
殊途同归。

我终于搞定了,查到了B页面的ActionForm里,挨个屏蔽,目标锁定在一个类型为String的对象上。
有了它,画面必倒,没有它,画面完好。
然后我到A页面的actionForm里搜索这个变量名,居然发现真有一个一模一样的变量,不过类型不同。

明天改了,看看是否是这个东西在捣鬼。

难道画面迁移的时候,不允许有同名不同类型的变量阿。B页面也不用从A页面来的值初始化阿。
真是企有此理。

下班啦。明天见。

谢谢版主

[此贴子已经被作者于2007-9-5 19:59:17编辑过]


成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2007-09-05 19:58
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
得分:0 
谢谢楼上。
java.sql.date型的数据我们都存为String类型,然后操作数据库的时候转换。项目里的牛人封装的DAO,用起来还不错。

那个问题也解决了。
有一个变量名在B页的actionForm里是String类型,在A页里的actionForm里是List类型。
就因为这个,已经改过了。
现在一切正常。

谢谢大家关注。/

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2007-09-09 08:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-167405-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.603928 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved