`
wei5201
  • 浏览: 187607 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2转换器以及获得servlet对象

阅读更多
1.sruts2用什么来代替struts1中的formBean呢?其实在我们调用action中的excute方法之前,struts2的拦截器,已经帮我们调用action中属性的setter方法,给属性都设值了,所以在excute方法中,我们可以直接调用属性值.而我们在jsp中的ul表达式显示属性,那就得归功于action中属性的getter方法了.

关于复合类型的getter和setter方法,我们并不需要关注,因为struts2帮我们都弄好了,比如,按顺序下面3步:
1)我们的提交页面: <input type="text" name="product.id"/>
2)那么我们的action中属性只有product的get和set方法.
3)还有我们的转向页面: ${product.id}
看懂了吧!呵呵,当然你得先有Product这个实体存在.因为这里用了反射,先生称Product对象,然后给product类里的属性设值.

2.顺便说下struts2的2.1.6版本的bug问题,建议大家使用2.1.6以上的版本.

3.类型转换器---转换器有2个作用,一是,参数提交时,把提交上来的参数转化成我们需要的类型,然后我们在excute方法中直接使用; 二是,我们在view层用el表达式显示的属性的时候,用来回显,可以把我们使用的类型转化成字符串型.见下图,我们自定义的转换日期的转换器:


定义我们的转换器为局部转换器:

我们的局部转换器的properties文件里内容是什么呢,如下:
"action中的属性名=自定义转换器的路径",见下图示例:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
定义我们的转换器为全局转换器,做如下的事:
1)在根目录下建立xwork-conversion.xml
2)xwork-conversion.xml内容就不是要对什么属性应用哪个转换器了,变成我们要对什么类型用用哪个转换器了.示例:

而后只要是action中的属性有需要转换类型的,对应上全局转换器就会被自动转换

当然局部转换与全局转换器,有局部优先原则.这点我就不解释了!


4.重要!访问或添加application/request/session属性,如下图:


有了上图,我想大家都明白了struts2如何访问我们的scope的!

当然如果大家想要直接获得request,response对象的话,可以这样做,同样见图片:

,也许这样直接获得request等属性,有些人更喜欢!

  • 大小: 40.4 KB
  • 大小: 21.5 KB
  • 大小: 6.1 KB
  • 大小: 6.8 KB
  • 大小: 24 KB
  • 大小: 17.8 KB
分享到:
评论

相关推荐

    Struts自定义类型转换器

    本文主要介绍Struts1和Struts2中的自定义类型转换器,并探讨其实现机制。 #### 二、Struts1中的自定义类型转换器 在Struts1中,自定义类型转换器主要是通过继承`com.sun.org.apache.commons.beanutils.Converter`...

    jsp servlet struts hibernate spring

    【标题】: "Java Web开发中的JSP、Servlet、Struts、Hibernate和Spring技术详解" 【描述】: "本文深入探讨Java Web开发中常见的技术,包括JSP、Servlet、Struts、Hibernate和Spring,讲解它们的工作原理和实用技巧...

    struts1和struts2区别

    - **Struts2**:使用OGNL进行类型转换,提供更灵活的配置和基本及常见类型的转换器。 9. **校验**: - **Struts1**:校验可以在ActionForm的validate方法中完成,或使用Commons Validator扩展,对子对象的校验...

    tomcat、struts2、servlet Filter(过滤器) 工作原理

    在IT行业中,Tomcat、Struts2和Servlet Filter是Java Web开发中的重要组成部分。了解它们的工作原理对于构建高效、安全的Web应用程序至关重要。下面将详细阐述这三个组件的基本概念和工作流程。 首先,Tomcat是一个...

    struts2中获得request对象

    本文将详细讲解在Struts2中获取`request`对象的几种常见方法,以及它们的适用场景。 1. **Action上下文(ActionContext)** `ActionContext`是Struts2的核心组件之一,它封装了与当前请求相关的所有上下文信息,...

    Struts2视频教程

    - **类型转换和验证**:Struts2支持自定义类型转换器,可以将用户输入的数据转换为所需的类型;同时还提供了一套强大的验证机制,确保用户输入的数据符合预期格式。 #### 五、Struts2实战经验 - **国际化**:通过...

    struts1和struts2的区别

    Struts2则使用OGNL进行类型转换,提供更强大的内置转换器。 最后,在验证功能上,Struts1支持在ActionForm的validate方法中进行手动验证,或者使用Commons Validator扩展。Struts2提供了更高级的验证机制,可以通过...

    Struts1和Struts2的区别和对比

    在类型转换上,Struts1的ActionForm属性通常是String类型,依赖于Commons-Beanutils进行转换,转换器不可配置。Struts2则利用OGNL进行转换,内置了对基本类型和常见对象的转换。 最后,在数据校验方面,Struts1支持...

    Struts2在Action中获得Response对象的四种方法

    然而,与Struts1.x不同,Struts2的Action类不再直接接收HttpServletRequest和HttpServletResponse对象作为execute方法的参数。这使得在Action中直接获取Response对象变得稍显复杂。下面我们将详细介绍在Struts2中,...

    struts2 与 struts1的区别

    - **Struts2** 则使用OGNL来进行类型转换,并且为常见的对象类型提供了内置的转换器。此外,Struts2的校验机制更加完善,支持链式校验子属性,使得校验规则更加灵活和精细。 #### 七、Action执行控制 - **Struts1*...

    struts2讲义,讲解struts2的框架

    2. `xwork-2.x.x.jar`:XWork框架为Struts2提供了基础,包括Action处理和类型转换等功能。 3. `ognl-2.6.x.jar`:对象图导航语言(OGNL)是Struts2中使用的表达式语言,用于访问和修改对象属性。 4. `freemarker-2.3...

    struts2 学习重点笔记

    - **原理**:Struts2 的拦截器会在 Action 执行完成后,调用 getter 方法并将结果存储到适当的范围对象中。 **3.4 请求转发与重定向** - **转发**:Action 的 execute 方法返回一个字符串,根据这个字符串找到对应...

    转:struts1与struts2的区别

    - **Struts2**: 使用OGNL进行类型转换,为基本和常用对象提供了转换器。Struts2的类型转换机制更为灵活且易于配置。 #### 9. 数据校验机制 - **Struts1**: 支持在`ActionForm`的`validate`方法中手动校验数据,...

    Struts2和Struts1的区别,详细点,主要说说Struts2

    - **Struts2**的Action类并不直接依赖Servlet API,而是通过中间层(如拦截器)间接与Servlet API交互,这样的设计使得**Struts2**的Action更加独立,也更容易进行单元测试。 #### 请求处理流程 - **Struts1**执行...

    struts2总结大全

    Struts2允许自定义类型转换器,以便在Action属性和请求参数之间进行数据转换。局部类型转换器针对特定Action类的某个属性,而全局类型转换器则对所有Action类生效。通过实现`Converter`接口或扩展`...

    struts2所需的包和Struts2_json所需包

    - `jackson-*.jar` 或 `gson-*.jar`:这两个库提供了JSON对象和Java对象之间的自动转换,Struts2可以与它们集成,使得JSON处理更加便捷。 4. **Servlet容器相关库**:由于Struts2是基于Servlet API的,因此需要`...

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理

    - **自定义类型转换器**:Struts2允许开发者通过实现TypeConverter接口来实现对特定类型的转换。 #### 五、最佳实践 为了更好地利用Struts2的强大功能,以下是一些最佳实践建议: - **模块化设计**:将应用划分为...

    struts2学习笔记

    在实际应用中,常常会继承Struts2提供的StrutsTypeConverter类,覆盖convertFromString和convertToString方法,以便更灵活地进行字符串到对象以及对象到字符串的转换。 三、Struts2输入校验 Struts2提供了两种主要...

    struts2完整版

    Struts2还提供了内置的类型转换器(Type Converter),使得框架能自动将请求参数转换为所需的数据类型。这减轻了开发者的工作负担,因为在Struts1中,若要实现类似功能,需要注册自定义的类型转换器。 此外,Struts...

Global site tag (gtag.js) - Google Analytics