这断时间一直在用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的源代码,这只是我自己想当然的想法,不知道对不对,哪位高人看后,不吝赐教,非常感谢。
分享到:
相关推荐
Struts1.2动态FormBean 加 验证功能 的一个例子
Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。 虽然,在理论上Struts2的...
Struts 1 学习文档 Struts 1 是一个基于 MVC 模式和面向对象设计的 Open Source 项目,由 Apache 基金会 ...Struts 1 是一个功能强大且广泛应用的 Web 应用程序框架,能够帮助 Java 开发者快速开发 Web 应用程序。
2.Struts2和Struts1.x的... Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。 Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。
4.action执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward对象来表示的,actionforward对象通过struts-config.xml配置文件中的配置关联到某个jsp页面,因为程序中使用的是在struts-config.xml...
NULL 博文链接:https://zywang.iteye.com/blog/413003
Struts原理、开发及项目实施 Holen 2002-9-12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点...
在Struts中几种情况可以使标签初始就是选中的,Formbean里面该Property的值设为 1.on 、2.yes 、3.true 这三种情况都是可以实现默认选中的。 注:如果不选中,最好把Property的设置为””,因为在Action中得到...
传智播客的struts高级实战进阶 MVC模式的回顾 回顾Struts的请求处理时序图 使用超连接的技巧 封装Formbean数据时的问题 防止表单重复提交 使用复选框的技巧 使用下拉列表框的技巧 文件上传 DispatchAction的应用 ...
NULL 博文链接:https://haixiami200411.iteye.com/blog/736554
Myeclipse开发struts+hibernate+spring新手入门---环境配置----项目开发示例 Myeclipse开发struts+hibernate+spring小记 开发前准备工作: 1、下载eclipse3.1版本 下载地址: 2、下载Myeclipse插件 下载地址: 3...
介绍如何使用动态formbean的例子
----Struts 使用技巧---- 1 Struts validate 1.1 使用ActionForm的validate()验证 总体思路:这个验证是没有添加验证框架的验证,而是直接通过ActionForm的validate()方法进行系统验证, 进行验证要处理三个方面的...
在struts2中已经不需要struts1中的formbean了。在struts1中每次提交表单的时候,表单中的属性值都先赋予formbean,然后操作formbean。但是现在struts2中用对象.属性名来给对象赋值,然后操作这个对象。而这些对象都...
7. struts框架中,关于FormBean,下列哪些说法是正确的: A FormBean是一种数据bean,主要用来封装表单提交上来的数据,并把这些数据传递给Action B 在FormBean中可以对页面上传递来的参数进行一下格式上的验证...
使用struts2的验证模式,并在里面使用了formbean的模式。
Struts运行环境1.1Struts1.0和1.1版本当前主要有两个版本,struts1.0release和struts1.1beta3。Struts1.0和1.1差别很大,主要有两点:Struts1.1中引用了很多apache其他项目的类包,如:xml解析、日志、验证等,因此...
struts的源码分析,整个流程,ActionServlet开始创建formbean开始
struts的html标签的源码分析,关键是如何创建Formbean对象和action中的写法,加.do还是可以不加