`
hongyong
  • 浏览: 16355 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
  • songshuang: 您好~诚挚邀请您加入ITeye HTML5群组,交流分享HTM ...
    Html5

Struts2 类型转换

    博客分类:
  • Java
阅读更多

        昨天看了Struts2的类型转换,大致的意思就是在前端JSP页面输入的资料,通过Struts2的作用。在对应的Action里面我们可以得到我们想要的资料类型。

      Struts2的类型转换是基于OGNL表达式的,之后要我们把HTML输入想明明为合法的OGNL表达式,就可以充分利用Struts2的类型转换机制了。Struts2的类型转换包含内建的类型转换和扩展的类型转换。

     内建的boolean和Boolean、char和Character、int和Interger、long和Long、float和Float、double和Double、Date、數組、結合。具体意思就是说。如果在前端Jsp的html或者Struts2的标签定义了name。并且在后端的Action里面有对应的get/set方法。如果后端get/set的属性你定义为上述的类型。则Struts2就会自动转换成你需要的类型。并且自动给你赋值到后端的属性。至于上述的数组的意思就是如果前端定义有两个输入框相同的name。则在后段可通过一个数组的形式接收前端对应两个输入框对于的值。当然数组里面值类型可自行定义。当然如果你在后端定义的类型为int。前端页面输入的是字母。提交后则Struts2则会通过验证拦截器,提示你输入的为invalid。

     自定义类型转换器的意思是,我们可以通过自己撰写类型转换器,将页面的内容转换为我们需要的类型。可以转换为一个JavaBean,也可以转换为其它任何你可想到的类型。比如,页面有一个邮件地址输入框。用户可输入多个邮件地址,不同邮件地址用逗号隔开。这个我们就可自定义类型转换器。将页面输入的邮件地址转换为一个邮件的数组、Vector、hashmap或者其它。类型转换器必须实现TypeConverter这个接口。然后通过复写convertValue方法来完成类型转换。也就是说这个方法返回的结果就是我们自己撰写代码转换后的结果。当然就包含两个部分,一个是页面值向Action里面类型的转换,另一个就是Action里面的值向页面显示值转换的代码撰写。Struts2为了方面我们自定义类型转换器,特提供了实现TypeConverter的子类,供我们继承来更方便的撰写。他们是DefaultTypeConvert和StrutsTypeConvert。StrutsTypeConvert将两种不同方向转换放到了不同的方法里。看起来就更直观和简单了。

     自定义类型转换器可以作用于一个Action,也可作用于全局的Action里面名字相同的属性,具体作用方式就是用户在撰写完自定义类型转换器后,通过新增ActionName-Conversion.properties(作用于一个Actiong,里面设定为propertName=类型转换器类)和xwork-Conversion.properties(作用于全局,如设定Action类名(包含包名)=类型转换器(包含包名))。

     以上为学习类型转换器的一点心得。

分享到:
评论

相关推荐

    STRUTS2类型转换

    Struts2是一个流行的Java web开发框架,其核心是Action,而类型转换是Struts2处理用户输入数据的一个重要环节。Struts2内置了多种类型转换,可以将HTTP请求中的字符串数据转换为各种基本类型和复杂类型,如日期、...

    struts2 类型转换器

    在Struts2中,类型转换器(Type Converter)是框架的一个关键特性,用于处理Action类中属性的自动类型转换。这个特性使得开发者无需手动进行数据类型之间的转换,从而提高了开发效率和代码的可读性。 标题中的...

    struts2类型转换

    本篇文章将深入探讨Struts2中的类型转换机制。 1. **类型转换的概念** 类型转换是指将一个数据类型的值转换为另一个数据类型的过程。在网络请求中,用户输入的数据通常是字符串类型,而服务器端的Action类属性可能...

    Struts2类型转换(一)----常规类型,自定义类型,错误处理

    Struts2是一个强大的MVC框架,它在处理Web应用程序时提供了许多便利,其中包括类型转换功能。类型转换是将用户输入的数据自动转化为服务器端处理所需的类型,这样可以避免手动转换带来的繁琐工作。本篇文章将深入...

    struts2类型转换和国际化

    在Struts2中,类型转换和国际化是两个重要的特性,用于处理数据类型之间的转换以及多语言环境下的内容显示。 **类型转换**是Struts2处理请求参数与Action类属性之间数据类型不匹配的过程。当用户通过表单提交请求时...

    struts2类型转换深入总结

    Struts2提供了一些工具类和方法来辅助类型转换,比如`FieldError`用于记录转换失败的字段和错误信息,`ValueStack`提供了`convertValue`方法进行转换,以及`ActionContext`中的`getValueStack`方法获取当前栈顶的`...

    struts2简单实例(类型转换)

    在这个"struts2简单实例(类型转换)"中,我们将探讨Struts2如何处理不同类型的数据转换,以及如何创建一个简单的演示应用。 首先,让我们理解什么是类型转换。在Web应用程序中,用户通过表单提交的数据通常是字符...

    struts2类型转换 拦截器 校验的例子

    Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括类型转换、拦截器和校验机制。本文将深入探讨这些关键知识点,并通过实际例子来帮助你理解它们的工作原理和应用。 首先,我们来看看**类型转换...

    struts2类型转换机制

    struts2类型转换机制

    struts2学习笔记3数据类型转换

    struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换

    Struts2类型转换与输入校验 .zip

     熟悉和掌握Struts2自定义类型转换。  熟悉和掌握Struts2内建校验的操作方法  实验环境与设备:  已经接入局域网的网络实验室,机器上装有IE浏览器等;  strtus2.5.8  实验内容: (1) 编写一个...

    Struts2 ConverterType类型转换 案例源码

    Struts2是一个强大的MVC框架,它在处理用户请求时提供了丰富的功能,其中包括类型转换(Converter)。类型转换是Struts2框架中一个重要的特性,它允许我们把前端表单提交的数据自动转换为后端Java对象的属性。在这个...

    struts2 类型转换 数据校验

    2. **自定义转换器**:如果需要处理特殊类型或有特定转换规则,可以通过实现`org.apache.struts2.util.TypeConverter`接口创建自定义转换器,并通过`@Result`注解或者`struts.xml`配置文件进行注册。 3. **转换异常*...

    STRUTS2类型转换错误导致OGNL表达式注入漏洞分析1

    《STRUTS2类型转换错误导致OGNL表达式注入漏洞分析》 STRUTS2框架在处理用户输入时出现的类型转换错误,可能导致OGNL(Object-Graph Navigation Language)表达式注入漏洞。此漏洞允许攻击者通过精心构造的输入,...

    [原]Struts2类型转换

    在Struts2中,类型转换是一项关键功能,它允许框架将用户输入的数据自动转换为应用程序需要的特定数据类型。这篇博客文章可能是关于Struts2内部的类型转换机制及其使用的探讨。 在Struts2中,类型转换是通过`...

    struts2类型转换convertToString不被调用的疑惑

    在Struts2中,自定义类型转换器通常需要实现`org.apache.struts2.util.TypeConverter`接口,并覆盖`convertValue`和`convertToString`方法。`convertToString`方法在某些场景下会被调用,比如在显示错误消息时,需要...

Global site tag (gtag.js) - Google Analytics