`
NicholasBugs
  • 浏览: 51793 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

struts中的属性自动装配功能

    博客分类:
  • Java
阅读更多
今天遇到一个有些意外的需求:在用户输入信息不合法时,回到输入页面并且 将输入的字符串两头的空格trim掉以后显示在输入框里,很不幸的是我把输入页面和验证逻辑写在了两个action(A, B)里,(项目框架限制得很死没办法) 在验证action里校验出错以后mapping.findForward("A.do") ,
发现A页面再次初始化时,在B中做的trim没有起作用,显示的还是用户第一次输入的值。经过一个上午的研究,找出了答案:
struts框架在处理http请求时,会把HTTP请求中的包含的属性装配到form中(这些属性被放在request.parameterMaps中),于是在执行mapping.findForward("A.do")时,相当于又发起了一次http请求,这时 struts的actionServlet会从parameterMaps中读取第一次提交数据时的属性值,并且装配到form中(A B共用一个form),于是在B中做的trim后的值被盖掉了。

解决方案:将验证在A画面中做,这样即使校验出错,也不会再去发一次请求。。。

具体过程如图:
  • 大小: 91.5 KB
  • 大小: 574.2 KB
  • 大小: 324.5 KB
分享到:
评论
1 楼 NicholasBugs 2008-05-05  

相关推荐

    java bean 与 Web Form表单如何实现自动装配

    【JavaBean与Web Form表单自动装配】是Web开发中常用的一种技术,特别是在使用像Struts2这样的MVC框架时,能够极大地简化数据绑定的过程。这个过程的核心是将用户在Web表单中填写的数据自动地映射到JavaBean对象的...

    Struts2属性文件详解

    指定了Spring框架中的自动装配模式,默认值为`name`,表示Spring框架将根据Bean的名称进行自动装配。 #### struts.objectFactory.spring.useClassCache 此属性决定了在整合Spring框架时,是否缓存Bean实例。默认...

    struts2属性文件中的有效的struts2属性KEY和带占位符的资源文件[参考].pdf

    5. `struts.objectFactory.spring.autoWire`: 控制Spring的自动装配模式。默认的`name`模式根据Bean的名称进行装配。 6. `struts.objectFactory.spring.useClassCache`: 当整合Spring时,决定是否缓存Bean实例。...

    Struts2属性文件详解.doc

    5. `struts.objectFactory.spring.autoWire`:这个属性控制Spring框架的自动装配模式,默认值是`name`,意味着基于Bean的名称进行自动装配。 6. `struts.objectFactory.spring.useClassCache`:决定是否缓存Spring...

    Struts2的常量详解

    struts.objectFactory.spring.autoWrite 属性指定 Spring 框架的自动装配模式,该属性的默认值是 name,即默认根据 Bean 的 name 属性自动装配。 6. struts.objectFactory.spring.useClassCache struts....

    struts.xml中constent属性参数配置大全

    - **功能**:允许引用自定义的属性文件,以覆盖`struts.properties`中的属性。 - **示例**:设置为`struts.custom.properties=myapp.properties`,则会读取`myapp.properties`文件并将其属性添加到全局的属性集中。 ...

    Struts 2 属性

    设置Spring框架的自动装配模式,默认为`name`,即基于bean名称进行自动装配。 #### 6. struts.objectFactory.spring.useClassCache 控制Spring整合时的bean实例缓存,通常保留默认值`true`以提高性能。 #### 7. ...

    struts.properties详解

    - **struts.objectFactory.spring.autoWrite**:指定Spring框架的自动装配模式,默认值为`name`,即默认按照Bean的名称进行自动装配。 - **struts.objectFactory.spring.useClassCache**:该属性决定在整合Spring...

    整合struts2和spring源代码(可以直接在tomcat中运行)

    可以直接运行,并对整合spring和struts2步骤及需要注意的事项进行类总结 整合spring和struts2总结 1.将struts2和spring中的库文件复制...— 如果没有使用Spring ObjectFactory,提供了2个拦截器来自动装配action。

    struts2常量详解

    - **struts.objectFactory.spring.autoWrite**: 控制Spring框架的自动装配模式,默认是"name",意味着根据Bean的名字进行装配。 - **struts.objectFactory.spring.useClassCache**: 如果设为"true",Spring将缓存...

    struts.xml文件详解.doc

    5. struts.objectFactory.spring.autoWire:控制Spring框架的自动装配模式,默认为"name",基于Bean的名称进行自动装配。 6. struts.objectFactory.spring.useClassCache:决定是否缓存Spring Bean实例,通常设为...

    Struts 2 properties文件详解

    **描述**: 当使用Spring作为对象工厂时,此属性指定Spring的自动装配模式。默认情况下,使用的是基于`name`属性的自动装配方式。 **示例代码**: ```properties struts.objectFactory.spring.autoWire=name ``` ##...

    详解struts2中struts.properties.doc

    5. `struts.objectFactory.spring.autoWrite`和`struts.objectFactory.spring.useClassCache`: 分别控制Spring自动装配模式和是否缓存Bean实例。 6. `struts.objectTypeDeterminer`: 决定了Struts2如何检测对象类型...

    struts.properties配置详解

    - **描述**:是否启用Spring自动装配功能。 - **示例**:启用自动装配。 - **配置**: ```properties struts.objectFactory.spring.autoWrite=true ``` - **struts.objectFactory.spring.useClassCache** - ...

    struts2例子

    下面将详细介绍Struts2框架中的核心概念,包括上传功能、标签使用、拦截器以及自动装配Bean对象和验证框架的应用。 1. **Struts2上传功能**:在Struts2中,你可以方便地实现文件上传功能。这通常涉及使用`Commons ...

    Struts2框架整合Spring框架在文件上传下载中的应用基于HT T P 传输协议, 采用Struts2 框架整合Spring 框架技术对Web 中文件的上传下载进

    3. **代码简洁**:通过Spring框架的自动装配功能,减少了大量的XML配置,使得代码更加简洁。 4. **测试友好**:依赖注入和面向切面编程使得单元测试变得更加容易。 #### 六、结论 本文介绍了如何将Struts2框架与...

    struts2配置文件详细说明

    - `struts.objectFactory.spring.autoWire`设定Spring的自动装配策略,如`name`,指基于bean名称的自动装配。 - `struts.objectFactory.spring.useClassCache`控制是否缓存Spring创建的bean,通常默认为`true`。 ...

    在Struts 2中实现IoC

    Spring将根据这些配置,自动装配对象之间的依赖关系,实现控制反转。 ### 结论 在Struts 2中实现IoC,不仅简化了代码结构,提高了可测试性和可扩展性,还充分利用了Spring框架的强大功能。通过将对象的创建和管理...

    struts2核心配置文件

    - **struts.objectFactory.spring.autoWrite**:指定Spring框架的自动装配模式,默认值为 `name`。 - **struts.objectFactory.spring.useClassCache**:指定整合Spring框架时,是否缓存Bean实例,默认值为 `true`...

Global site tag (gtag.js) - Google Analytics