`

终于体验到"struts formbean的最佳实践是String"这句话的强大意义了

阅读更多

这断时间一直在用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的源代码,这只是我自己想当然的想法,不知道对不对,哪位高人看后,不吝赐教,非常感谢。

分享到:
评论
4 楼 抛出异常的爱 2007-04-16  
我还以为你是给别人讲你的经历。。
3 楼 guanfish 2007-04-16  
不知道哪位大侠指点一下啊,小弟跪谢了。
2 楼 guanfish 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 错误,又如何能进行处理呢????能否给个详细点的说明或者是一两行关键的代码,谢谢
1 楼 lintomny 2007-04-10  
你这个问题我遇到过,并不是像你说的那样处理成String,当然使用String确实是个好办法,但是这样一来在Action处就要做一些功夫了。
我觉得最好的办法是在Struts Formbean里面的Setter和Getter里进行处理, 不要麻烦做Action的人去处理这些你分内的事。the bucket stops here

相关推荐

    Struts1.2动态FormBean加验证功能的一个例子

    总之,这个例子展示了如何在Struts1.2框架中利用动态FormBean实现数据输入的验证,从而提高应用的安全性和用户体验。通过理解和实践这个例子,开发者能够更好地掌握Struts1.2的核心特性,为构建高效、健壮的Java Web...

    Struts中FormBean的日期类型字段赋值自动转化

    可以在`struts-bean.properties`文件中设置`date.format`属性,指定日期的格式,Struts会根据这个格式自动转化字符串到日期对象。 四、例子 假设我们有一个FormBean类`UserForm`,其中有一个`java.util.Date`类型的...

    struts2 valadation验证

    如果你正在学习Struts2 Validation,这个文件可能会包含如何配置和使用验证规则的实例,你可以打开这个文件,结合上面介绍的概念进行实践和学习。 总之,Struts2 Validation是Struts2框架中处理用户输入验证的重要...

    struts1和struts2中文教程

    通过这两个教程,你可以了解到Struts1和Struts2在架构设计、核心组件、配置方式以及开发实践上的异同,理解它们如何帮助开发者构建高效、可维护的Java Web应用。阅读Struts1.pdf文档,将帮助你掌握Struts1的基础知识...

    struts1&struts2

    - **Struts2** 则允许开发者定义多个公开的String返回类型的方法,每个方法可以通过配置文件映射到不同的请求。 4. **线程模型** - **Struts1.x** 的Action类是单例模式,所有请求共享同一个Action实例,这需要...

    Struts中英文帮助手册

    12. **最佳实践**:提供Struts开发的最佳实践和常见问题解决方案,以避免常见的陷阱和错误。 13. **升级和迁移**:如果涉及到从Struts1到Struts2的升级,手册可能还会提供相关的迁移指南和注意事项。 通过阅读...

    struts1和struts2的区别

    Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。 虽然,在理论上Struts2的...

    Struts1_Struts2

    Struts1的配置主要在struts-config.xml文件中进行,包括Action映射、FormBean定义和Plug-In配置等。 - **MVC架构**:Struts1遵循MVC设计模式,使得开发者可以将业务逻辑、数据模型和用户界面分离,提高代码的可重用...

    Struts所需要的jar

    1. **struts-core.jar**:这是Struts框架的核心库,包含了Action、ActionSupport、FormBean等基础类,以及配置解析、请求处理等关键组件。 2. **struts-tiles.jar**:Tiles是一个视图管理框架,它允许开发者定义和...

    struts实践经验

    总的来说,Struts 是一个强大且成熟的Web开发框架,它在实践中展示了其价值,尤其是在大型项目中的适应性和可扩展性。然而,随着技术的发展,开发者也需要关注和学习新的框架和技术,以应对不断变化的开发需求。

    Eclipse开发Struts1.2

    【Eclipse开发Struts1.2】的知识点详解 Struts1.2 是一个流行的Java Web框架,它基于Model-View-Controller (MVC)设计模式,提供了强大的控制层功能,便于开发人员构建可维护、可扩展的Web应用程序。Eclipse作为一...

    json java读取 formbean操作

    本话题将围绕如何在Java中使用这些库来读取JSON数据并进行FormBean的操作进行详细讲解。 首先,我们需要理解FormBean的概念。FormBean是Java Web开发中的一个术语,通常用于封装HTML表单提交的数据,以便在服务器端...

    手动编写struts源码及讲解

    在“MyStruts”这个压缩包中,可能包含的是整个项目的源码结构,包括Action、Form、配置文件、JSP页面等,你可以通过阅读和运行这些代码,亲身体验Struts的工作流程,加深对Struts的理解。如果你对Struts框架感兴趣...

    struts1编程例子

    这一步骤是关键,因为它会自动添加Struts所需的库文件和配置文件,包括struts-config.xml,这是Struts框架的核心配置文件。 #### 构建登录功能的关键组件 接下来,我们将构建登录功能所需的几个关键组件,包括登录...

    Programming Jakarta Struts

    《Programming Jakarta Struts》这本书是Java Web开发领域中的一本经典之作,主要聚焦于Struts框架的使用和实践。Struts是由Apache软件基金会维护的一个开源项目,它为构建基于MVC(Model-View-Controller)设计模式...

    Struts的工作原理

    Struts是一个基于Model-View-Controller (MVC)设计模式的Java Web框架,它使得开发者能够更有效地构建可维护和可扩展的Web应用程序。在深入理解Struts的工作原理之前,我们先来简单回顾一下MVC模式的基本概念: **...

    struts-1.3.5-lib

    1. **核心库**:struts-1.3.5.jar 包含了Struts框架的核心类,如Action、FormBean、ActionServlet等。这些类负责处理HTTP请求,执行业务逻辑,并将结果传递给视图层。 2. **标签库**:struts-tags.jar 提供了一系列...

    动态验证formbean

    在Java Web开发中,动态验证FormBean是一种常见的实践,它允许开发者在运行时根据不同的业务需求灵活地定义和改变表单验证规则。本教程将深入探讨动态验证FormBean的概念、优势以及实现方法。 动态验证FormBean的...

Global site tag (gtag.js) - Google Analytics