struts-ActionForm:reset()详解
第一步:
对象的可视范围:request、session、application、page。
Request:在一个请求周期内有效。就是从你点击页面上的一个按钮开始到服务器返回响应页面为止(包括响应页面)。
Session:在一个用户与服务器建立连接的整个过程中有效。
Application:在整个web应用程序内有效。
Page:仅在一个jsp页面内有效。
第二步:
ActionForm在你确定的有效期(可视范围)内是唯一的。
第三步:
在每次为ActionForm赋值前调用它的reset方法。作用是使ActionForm中的值恢复初始状态。在应用中我们可以通过在reset中为变量赋初值的方式,使得页面上的某个对象有显示值。
第四步:
可视范围与赋值前的初始化结合。
由于第二步所述特性,如果可视范围是request,则reset方法并不是很重要,因为你每次调用时都会产生一个新的ActionForm实例,所以你所操作的ActionForm不会与别人分享同时也就不会受别人的影响;如果可视范围是session,由于在session范围内此ActionForm是唯一的,所以你在session范围内需要用到此ActionForm的地方调用的都是同一个ActionForm,要是你没有在reset中对变量赋初值那么前一次调用ActionForm是为它赋的值将在此次调用时有效,这到也没什么。但是,如果恰巧再次调用时你仅仅需要为ActionForm中的一部分变量赋值,那么其余的变量将保持上一次得到的值,这样你就得到了一个“新旧混合体”,我想这多半不是你所期望的;如果可视范围是application,那其影响就更是不难理解了,这时不但是你自己会影响你自己,使用应用的其他用户的操作也会影响到你。
第五步:
知道了reset方法的作用和ActionForm在scope内唯一的特性后就为我们灵活处理ActionForm的行为提供了基础。比如说你现在需要跨过多个页面收集数据信息,这时你就可以把scope设置为session,并且不实现reset方法――这样在每个页面put数据时都不会将之前收集的数据清空,最后在你收集完数据后在Action中调用ActionForm中你自定义的初始化方法,如:resetField。
在具体的我也想不出了,还是要大家在应用时多多体会这些特性,这样才能把架构的威力发挥到最大。
分享到:
相关推荐
### Struts2 UI标签详解 #### 表单UI标签 表单UI标签主要用来创建HTML表单元素,如文本框、按钮等。它们为开发者提供了一种简洁的方式来生成动态表单,并且可以方便地进行数据绑定和验证。 ##### 示例代码 ```jsp ...
### Struts2标签详解及具体实例解析 #### 一、概述 Struts2是一个基于MVC模式的开源框架,它提供了丰富的标签库来简化Web应用的开发过程。这些标签不仅功能强大,而且易于使用,可以帮助开发者快速构建动态网页。...
本案例"Struts2之struts012"将深入探讨如何在Struts2中实现文件下载的功能。 首先,我们需要创建一个Action类,它是Struts2的核心组件,用于处理用户的请求。在Action类中,我们将定义一个方法,该方法负责获取要...
在使用Struts1标签时,应避免使用scriptlet,尽管它们的表达式仍然可以在Struts标签中使用。确保表达式完整,如正确的`<html:link>`标签写法。 Struts1的标签设计旨在提高可读性和可维护性,减少JSP页面中的Java...
Struts2标签库详解 Struts2作为一款强大的MVC框架,其标签库是其核心功能之一,极大地简化了开发者在视图层的工作,提高了开发...文档中的"Struts2标签库详解.doc"应该包含了更详细的实例和解释,值得仔细阅读和学习。
Struts标签是Apache Struts框架中的一个重要组成部分,它提供了一种简化JSP页面开发的方式,使得开发者能够更高效地构建MVC(Model-View-Controller)架构的应用程序。Struts标签库提供了丰富的标签,用于处理表单、...
Struts1标签库是Java Web开发中用于构建MVC架构的Apache Struts框架的重要组成部分,它提供了一系列方便的标签,帮助开发者简化视图层的实现。这篇文档详细介绍了Struts1标签库的主要内容,旨在帮助初学者快速掌握...
在Struts2框架中,标签库分为非UI标签和UI标签两大类。 1. **非UI标签**: 非UI标签通常用于处理逻辑或数据,不直接与用户界面交互。例如,`<s:property>`标签用于显示或传递对象的属性值,`<s:if>`和`<s:else>`...
1. `<s:bean>`:类似Struts1.x中的JavaBean标签,用于获取或设置JavaBean的属性。 C部分: 1. `<s:checkbox>`:创建复选框,可以绑定值。 2. `<s:checkboxlist>`:创建复选框列表,用户可选择多个值。 3. `...
`reset`方法是一个典型的生命周期方法,用于重置表单字段的值,通常在ActionForm的生命周期中会被调用。 接下来,`input_struts.jsp`页面是使用Struts1标签进行输入表单渲染的部分。在JSP中,Struts1提供了如`...
以下是对Struts2标签库中部分标签的详细解释: 1. `<s:a href="">`:创建一个超链接,类似于HTML的`<a>`标签,可以方便地与Struts2的Action关联。 2. `<s:action name="">`:执行一个外部的Action,通常用于导航到...
Struts 1.2 标签库是 Apache Struts 框架中的一部分,用于简化在 JSP 页面上的开发工作,提高代码的可读性和可维护性。它们分为五个主要的标签库:Bean Tags、HTML Tags、Logic Tags、Nested Tags 和 Tiles Tags。...
#### 二、Struts 配置文件详解 **1. `struts-config.xml` 文件解析** `struts-config.xml` 是 Struts 1.x 中的核心配置文件,用于定义应用程序的行为和结构。主要包括以下几个部分: - **Form Beans 定义**:用于...
8. `<s:reset>`:重置按钮,清除表单中的所有数据。 9. `<s:hidden>`:隐藏域标签,用于在表单中存储不显示的数据,`name`和`value`属性分别指定名称和值。 10. `<s:combobox>`:创建下拉选择框,`list`属性可以...
根据提供的文件信息,可以看出本文主要关注的是JSP Struts框架中的HTML标签库的使用与解析。Struts是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于简化Web应用程序的开发过程。其中,HTML标签...
7. `<s:bean>`:类似于Struts1.x中的JavaBean标签,用于处理JavaBean对象。 8. `<s:checkbox>`:创建复选框,允许用户选择多个选项。 9. `<s:checkboxlist>`:用于创建一组复选框,通常与列表或数组配合使用。 10...
以上就是Struts2中部分核心标签的详细解析,它们极大地简化了视图层的开发,使得开发者能够更专注于业务逻辑,提高开发效率。在实际项目中,还需要结合其他标签和Ognl表达式,以实现更复杂的功能和交互。
以下是对Struts2标签库中部分重要标签的详细解释: 1. `<s:textfield>`:用于创建文本输入框。通过`name`属性指定与Action中的Bean属性对应,例如`<s:textfield name="username"></s:textfield>`,若要显示初始值,...
### Struts1 用户登录实现详解 #### 一、Struts1 框架简介 Struts1 是一个基于 Java 的开源 MVC(Model-View-Controller)框架,它为 Web 应用提供了一种结构化的开发方式。Struts1 的设计模式使得开发者能够更加...