浏览 3436 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-10
这断时间一直在用struts做开发,还规定尽量用struts的标记库,所以最进对struts的标记库研究得比较多。直到今天才发现,前面研究的东西都是白费了,最终都是用不上了。 前面写过用struts tag对formbean 属性的显示,花了不少时间研究出了对Integer ,BigDecimal类型属性的显示问题,struts formbean是不支持Date类型的属性的。也看到了”struts formbean的最佳实践是String“这句话,也看到过formbean获取这些数据,首先都是以string类型获取到,然后再转成自己所需类型这样的文章。但是一直抱着偷懒的心态,一直想尽量用BeanUtils.copyProperties(object,formbean)这样的方法来获取formbean的内容,懒得自己一个一个属性的获取和赋值。 但是今天出现的一个问题,使我幡然醒悟。 问题描述如下: 1,我定义了一个formbean,里面有两个BigDecimal属性。 2,然后我在jsp页面上要新增一个对象,提交时报一个javax.servlet.ServletException: BeanUtils.populate异常。 我发现是因为没有给那2个BigDecimal属性附初值的原因。 想想以前看过的内容,我想formbean获取属性值时,也许也是会这么获取内容 new BigDecimal(request.getParameter("xxxx"));由于xxx是null,所以就报错误了。
我没有看过struts的源代码,这只是我自己想当然的想法,不知道对不对,哪位高人看后,不吝赐教,非常感谢。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-04-10
你这个问题我遇到过,并不是像你说的那样处理成String,当然使用String确实是个好办法,但是这样一来在Action处就要做一些功夫了。
我觉得最好的办法是在Struts Formbean里面的Setter和Getter里进行处理, 不要麻烦做Action的人去处理这些你分内的事。the bucket stops here |
|
返回顶楼 | |
发表时间:2007-04-11
lintomny 12 小时前
你这个问题我遇到过,并不是像你说的那样处理成String,当然使用String确实是个好办法,但是这样一来在Action处就要做一些功夫了。 我觉得最好的办法是在Struts Formbean里面的Setter和Getter里进行处理, 不要麻烦做Action的人去处理这些你分内的事。the bucket stops here 这个想法是很好,但是我怎么在“Formbean里面的Setter和Getter里进行处理”进行处理呢?我做调式时,当一个BigDecimal 属性值为空时,尚未进入Setter和Getter方法就已经报javax.servlet.ServletException: BeanUtils.populate 错误,又如何能进行处理呢????能否给个详细点的说明或者是一两行关键的代码,谢谢 |
|
返回顶楼 | |
发表时间:2007-04-16
不知道哪位大侠指点一下啊,小弟跪谢了。
|
|
返回顶楼 | |
发表时间:2007-04-16
我还以为你是给别人讲你的经历。。
|
|
返回顶楼 | |