struts2中jsp向action提交list对象中的问题

我的list由action传过来,在修改后再次提交到action,可是问题来了,由于list中所保存的对象是我自己写的user类,其中包括一个int型的变量,当我在页面不... 我的list由action传过来,在修改后再次提交到action,可是问题来了,由于list中所保存的对象是我自己写的user类,其中包括一个int型的变量,当我在页面不输入任何值时,系统报错如下:
WARNING: Error setting expression 'userList[0].amount' with value '[Ljava.lang.String;@31d5e2'
我自己写的拦截器拦截的参数如下:
key=userList[0].amount, value=
很明显是因为当在jsp中不输入任何值时,amount被当作string处理了,请问由什么方法可以解决么?
1楼的做法可以,但是这就违背了我设计这个user类的初衷,amount一定是int来的,而且我也不可能手动去在拦截器写类型转换,一旦我int型的变量多了,那一天忘了写不就麻烦了?
2楼,已映射,我不能在action里组装,问题是组装这个动作struts2已经做了,但是发觉有问题,然后出警告
3楼,我已预置缺省值,但是依然出warning
我完全可以忽视该警告,因为系统并没有报错,也不能令系统出什么问题,我只是想想有误办法可以通过配置什么解决掉,如果一定要写代码,我宁愿在拦截器里写类型转换
展开
 我来答
4408110qaz
2010-12-28 · TA获得超过362个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:78.7万
展开全部
可以预置缺省值;
而且我认为是你的程序或配置某处有错。因为类型转换是看action里领域对象的数据类型而转换的。页面上的数据都是字符串,对struts来说是没有参考价值的。
mjxaa11
2011-01-04 · TA获得超过4291个赞
知道小有建树答主
回答量:2016
采纳率:25%
帮助的人:1225万
展开全部
<s:textfield value="%" />
<s:textfield value="$" />
<s:textfield value="#username" />

都试试,看哪个可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a2d059a
2010-12-30 · TA获得超过120个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:124万
展开全部
我跟楼主出的同样问题。user.id为int类型,缺省值时报NoSuchMethod setId(Ljava.lang.String)。改变setId方法为setId(String id) {this.id = Integer.ValuesOf(id)}后报错。
感觉Struts的默认转换器不能把对象转换成基本数据类型。不知道是不是这样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
240794517
2010-12-28
知道答主
回答量:8
采纳率:0%
帮助的人:6.3万
展开全部
你通过user 类进行映射的吧,如果有字段没有映射,会报错,尽量把字段都写全,
如果实在不行,只能通过字段映射,在你的action里再组装你的user 类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
penghaiqinling
2010-12-27 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:235
采纳率:100%
帮助的人:56.8万
展开全部
转换类型 就是 int和String之间的转换 在类里面就可以转换了 getString
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xujishen2010
2010-12-31 · 超过15用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:0
展开全部
为什么不借助于 js呢, 如果 amount 处理空格后 为 "" 那就 赋给他 0 呗!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式