1、刚才刚做了实验:才明白这样一条呆板的原则:不管你是通过.do请求一个jsp
文件,还是直接请求.jsp文件,struts都是根据jsp文件中的表单的action值在配
置文件里对应的mapping元素中的Form来初始化标签的值,只要它发现不是它定义
的属性,一律报错。
2、可以用一个全包含的Form来解决进出表单不一致的情况,也可以建立2个Form
和2个映射元素来分开它们。这种情况下,2个Form之间不发生任何关系,但参数
值可以到达。
3、链接式请求就不必理会表单间的关系。要链接的Form和当前表单不会出现错误
,属性有则匹配,没有则不匹配。
4、用脚本提交表单时竟然表单的值不能自动赋到目标ActionForm里,真奇怪!不
过总算在request里。
5、现在有了重要收获:用脚本提交表单和用标签是一样的,关健是提交值不一样
造成的区别。提交之后经过的所有Form表单都被赋值,当然这些表单之间是无关
的。
切记,Action输出一个jsp页面时,并不是当前(在配置文件里和Action对应
)的Form对象初始化页面表单值,而是由这个jsp页面的action值在配置文件里注
册的Form对象初始化。
6、在请求一个jsp文件时:现在已经清楚了,只要是页面表单里的数据,里面的
表单属性必须在action值在配置文件里的Form存在对应属性才行,不管是直接请
求jsp文件,还是通过.do形式。通过.do形式时,Action只是初始化由name指定的
Form对象,但真正进行赋值的Form对象是由jsp页面表单的action值在配置文件里
的Form对象进行的,有趣!
7、页面表单的赋值由页面表单action在配置文件里匹配的Form进行。
8、页面提交所经过的Form全部被赋值,它们之间没有任何联系。有则匹配,无则
不匹配,无语法错误。
关于一个Action的出入jsp页面表单不一致的情况下,如果严格采用一个jsp
页面表单一个Form的原则,会出现语法错误,为了调和这种情况,有以下四种解
决方案:
-------------------------
9、不改变action值提交时,显然对应的还是给它赋值的Form。此时Form必须兼顾
出口jsp页面表单的所有属性,不然会出现语法错误。一般情况下,一个子模块内
的页面共用大多属性,可以定义一个包含全部属性的Form。
10、改变action值提交时,可以是任意Form,不会出现语法错误。当然Form也必
须兼顾出口jsp页面表单的所有属性。
11、通过超链接时,源、目标Form没有任何关系。当然当前表单的任何属性值也
不会传过去。
12、通过2个Form中间一个.do连接的情况,和10属同一情况。复杂的情况下用这
种,在2个Action里处理。
分享到:
相关推荐
本文将详细讨论如何在Struts中使用ActionForm的`validate`方法进行数据验证。 `validate`方法是在ActionForm中定义的一个可选方法,用于在提交表单数据后验证用户输入的有效性。这个方法通常会在调用Action的`...
Struts1是一个经典的Java Web框架,它在早期的Web应用开发中...以上就是关于"Struts1使用ActionForm实现表单验证"以及"表单验证失败追加信息"的详细说明。理解并掌握这一技术,对于开发基于Struts1的Web应用至关重要。
3. **ActionForm的使用**:如何创建ActionForm类,定义属性并添加对应的get和set方法,以及如何在struts-config.xml中配置ActionForm。 4. **数据验证**:ActionForm不仅可以收集数据,还可以进行数据验证。通过...
Struts学习笔记之ActionForm ActionForm是Struts框架中的一种重要组件,用于封装和处理用户的表单数据。在Struts中,ActionForm是继承自JavaBeans的,主要用于处理用户的表单数据和业务逻辑。下面是ActionForm的...
注意,你需要确保在ActionForm类中提供相应的getter和setter方法,以便Struts框架能够正确地设置和获取List属性。 提交表单后,Action类接收到ActionForm实例,可以通过items属性访问并处理这些数据。例如,你可能...
主要是actionForm的基本验证,重写validate方法,返回actionErrors,然后根据资源文件显示错误。 这是一个demo例子,直接导入eclispe中即可。 并且这部分内容会在相应的博客中介绍,稍后会更新博客。
这篇学习笔记将深入探讨ActionForm的作用、使用方法以及它在Struts架构中的位置。 在MVC模式中,ActionForm扮演了模型层和控制器层之间的桥梁角色。当用户在视图层(通常是HTML表单)填写信息并提交后,这些数据会...
Struts ActionForm是Java Web开发中Struts框架的一个核心组件,主要用于处理用户在表单中的输入数据。在早期的Struts 1版本中,ActionForm是MVC设计模式中的Model部分,它作为控制器(Controller)与视图(View)...
4. **使用ActionForm**: 将Spring的ApplicationContext引入Struts,使ActionForm能够通过依赖注入获取SessionFactory,然后在业务逻辑中调用Hibernate的方法进行数据库操作。 5. **配置过滤器**: 设置Struts与Spring...
当用户在表单中填写数据并提交时,Struts框架会创建一个ActionForm实例,并自动调用对应字段的set方法,将请求参数填充到ActionForm中。 2. **get和set方法的作用** - **set方法**:在用户提交表单后,Struts框架...
ActionForm是Struts框架中的一个重要组件,主要用于处理用户从视图层提交的数据。在传统的Struts开发中,ActionForm类通常用于封装请求参数并传递给业务逻辑层进行处理。 动态ActionForm的概念是为了提高代码的灵活...
ActionForm在早期的Struts1中被广泛用于接收和验证用户输入,但在Struts2中,这个概念已经被更先进的模型驱动机制所取代。不过,这里提到的"ActionForm自动填充表单"可能是指Struts2中的一种特性,即模型驱动...
最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助。在此谢谢各位!...
Struts是Java Web开发中的一个...以上就是关于Struts上传组件的基本使用方法,它使得在Struts框架下处理文件上传变得简单而直观。在实际应用中,根据项目需求,你可能还需要添加更多功能,如进度条显示、多文件上传等。
【ActionForm】是Java Web开发中的一个概念,主要在Struts框架中被广泛使用。它是一种模型层对象,用于接收用户从视图层(通常是一个HTML表单)传递过来的数据,并将这些数据转发到控制器(Controller)进行业务逻辑...
最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助。在此谢谢各位!...
Struts框架中的ActionForm乱码问题以及Servlet全局过滤器的转义编码处理是Java Web开发中常见的字符编码问题。在开发基于Struts的Web应用时,乱码主要出现在三个方面:页面显示乱码、参数传递乱码以及国际化资源文件...
本文将详细讲解Struts中的表单验证机制,包括ActionForm Bean的使用、validate()方法和reset()方法,以及如何处理验证错误。 首先,ActionForm Bean是Struts框架中用于存储和管理用户输入数据的Java对象。它需要...
在这个名为“Struts中不同的Action和ActionForm组合.rar”的压缩包中,主要探讨的是Struts框架中Action和ActionForm的组合使用方式,以及它们在处理用户请求和数据验证过程中的作用。以下是对这个主题的详细解释。 ...