`

Struts1 页面提交数据到ActionForm中获取的是null

 
阅读更多
这个问题耽误了我不到时间,我从配置文件struts.xml开始梳理到执行完后台程序返回页面,但是这个流程下来并没有任何的错误。
碰到这个问题的时候我是从以下几个方面开始查找的:
第一:检查页面的form表单的标签的name属性名称是否和封装的这个页面的ActionForm的属性名字匹配;
第二:检查struts配置文件中<form-bean name="给ActionForm命名的名字" type="ActionForm的路径" />和 <action attribute="给ActionForm命名的名字"  name="给ActionForm命名的名字" type="对应的Action类的路径">  </action>ActionForm的名字和ActionForm、Action的路径是不是不对应
第三:检查此页面是否有和此form同名的其他form表单
第四:是否在ActionForm中对属性名生成了get和set方法(对于这一步我感觉还是没必要检查的,因为在这里犯错的几率相当小吧)
经过debug模式调试和再三检查,确实没有任何错误,后来发动我的组长给我调试也没找出来是哪个地方错误。于是万般无奈之下我只好清空页面<body>里面的所有元素,重新写一个form表单,里面只有一个text文本,看看是否可以成功到后台获取数据。结果惊喜来了,这样就是完全ok的,于是乎错误就确定了,肯定是这body里面的代码有问题了。结果我发现在这个页面中用include标签包含了其他的页面,我就进这几个页面一瞅瞅,傻眼了吧。原来问题隐藏在这里了,就是这个include标签包含的页面中的form搞的鬼。最后解决办法就是把这个无用的form干掉了,就ok啦!
所以呀,在别人的基础上代码的话,可就得小心了。说不定哪地隐藏了一个不易发现的陷阱呢。。。
分享到:
评论
2 楼 lyj286326189 2013-07-11  
特别好!特别好!特别好!特别好!
1 楼 panshaobinSB 2012-09-29  
看了很有帮助,有用!!

相关推荐

    struts1使用actionform实现表单验证

    ActionForm是Struts1中处理用户输入的核心组件,它负责接收、验证和封装来自表单的数据。在本文中,我们将深入探讨如何利用ActionForm实现表单验证,并在验证失败时追加错误信息。 1. **ActionForm介绍** ...

    验证ActionForm存到了request中

    在用户提交一个HTML表单后,Struts框架会创建一个ActionForm实例,并将表单数据填充到这个实例的属性中。ActionForm类通常包含与表单字段对应的属性和getter、setter方法。例如,如果表单有一个名为"name"的输入字段...

    Struts解决重复提交步骤

    4. **异常情况处理**:在实际应用中,还需要考虑到一些异常情况的处理,例如会话过期、用户刷新页面等情况,需要对这些情况进行合理的处理,确保系统的健壮性。 #### 使用示例 下面是一个具体的使用示例: 1. **...

    struts1面试题

    - **步骤1**:用户提交表单,Struts自动将数据填充到`ActionForm Bean`。 - **步骤2**:调用`ActionForm Bean`的`validate()`方法进行验证。 - **步骤3**:无错误时,验证通过,否则保存错误信息并转发到错误处理...

    解决在struts 中可以通过token 来重复提交的问题

    ### 解决Struts中通过Token防止重复提交的问题 在Web应用程序开发中,特别是基于MVC架构的框架如Apache Struts中,确保用户操作的安全性是非常重要的。其中一项常见且重要的安全措施是防止表单的重复提交。本文将...

    struts1实现文件上传和下载

    在Struts1中,实现文件上传和下载功能是常见的需求,这对于处理用户提交的文件,如图片、文档等,至关重要。下面将详细解释如何在Struts1中实现这两个操作。 首先,我们关注文件上传。在Struts1中,文件上传主要...

    Struts1工作原理浅析【转】

    2. 如果 ActionForm 实例不存在,就创建一个 ActionForm 对象,并把客户提交的表单数据保存到 ActionForm 对象中。 3. 根据配置信息决定是否需要表单验证。如果需要验证,就调用 ActionForm 的 validate()方法。 4. ...

    Struts1入门教程实例

    1. **创建ActionForm**:定义一个ActionForm类来封装用户提交的表单数据,并进行验证。 2. **编写Action**:创建Action类来处理用户的请求,调用业务逻辑层的方法,并决定视图的转向。 3. **配置Struts**:在`struts...

    Migrating From Struts1 To Struts2

    5. **更新视图层**:检查并更新Struts1中的JSP页面,确保它们与Struts2的标签库兼容。 6. **测试与验证**:完成迁移后,进行全面的测试,确保所有功能正常工作。 #### 示例代码 ```java // Struts2 Action示例 ...

    struts下上传图片到数据库并显示到页面实例

    在这个实例中,我们将探讨如何在Struts框架下实现图片的上传功能,将图片保存到数据库,并在页面上显示出来。 首先,我们需要创建一个Action类来处理用户上传的图片。这个Action类通常会包含一个方法,如`execute()...

    关于struts表单验证

    当用户提交表单时,Struts会自动将表单数据填充到ActionForm Bean的相应属性中,以便在控制层进行处理。 表单验证主要通过覆盖ActionForm的`validate()`方法来实现。这个方法会在用户提交表单后,Action类执行之前...

    ActionForm属性中存在对象数组如何处理

    在Struts框架中,ActionForm类是用于封装请求参数并传递到Action类进行业务逻辑处理的关键组件。当ActionForm中的属性涉及到对象数组时,处理方式就变得稍微复杂一些。以下将详细介绍如何处理ActionForm属性中存在...

    struts1.x 上传下载

    在Struts1.x中,文件上传主要依赖于`org.apache.struts.upload`包中的类。最常用的是`MultipartRequestHandler`,它实现了Servlet API中的`HttpServletRequestWrapper`接口,允许处理multipart/form-data类型的请求...

    struts1 用户登录(包含验证)

    在 Struts1 中实现用户登录功能通常包括以下几个步骤: 1. **创建表单类**:首先需要定义一个表单类(例如 `LoginForm`),该类用于封装用户输入的数据。 2. **创建 Action 类**:接着定义一个 Action 类(例如 `...

    struts1中实现图片上传

    在这个主题中,我们将深入探讨如何在Struts1中实现图片上传功能。首先,我们需要了解图片上传的基本流程,包括前端表单设计、后端接收与处理以及文件存储。 1. **前端表单设计** 在HTML页面中,我们需要创建一个...

    Struts1 控制器组件和动态表单详解

    ActionForm是Struts1中的数据绑定组件,通常用于接收和封装用户输入的数据。动态ActionForm则允许在运行时根据用户请求动态地创建和配置ActionForm实例。这种方式提高了灵活性,使得表单字段的数量和类型可以根据...

    struts1校验框架

    校验框架是Struts1中的一个重要组件,用于验证用户输入数据的有效性和完整性。 Struts1的校验框架主要分为两部分:ActionForm和Validator。ActionForm对象用于接收和封装用户从视图层提交的数据,而Validator则负责...

    struts-html标签

    1. `&lt;html:html&gt;`标签:这是Struts HTML标签库的基础,它可以设置`locale`属性,用于处理国际化,如果未指定`locale`对象,系统会从请求头的`accept-language`中获取。此外,还可以设置`lang`属性,替代Struts 1.2...

    struts1.2 validate 源代码 实现

    在Struts1.2中,`validate`机制是用于处理表单验证的重要部分,它帮助开发者在用户提交数据之前检查输入的有效性,确保数据的完整性和安全性。 ### 一、`validate`机制概述 `validate`机制是Struts1.2中处理表单...

    struts的错误处理

    在Struts中,ActionForm对象用于封装用户表单数据,并且可以实现表单数据的验证功能。当表单数据不符合预期时,可以通过ActionForm对象来捕获这些错误,并将其返回给用户。下面将详细介绍如何在ActionForm中实现错误...

Global site tag (gtag.js) - Google Analytics