struts2中的自定义类型转换有分两种
(0).编写类型转换文件
该文件应该继承SrtutsTypeConverter,当继承后,自动会有两个重写的方法,一个是convertFromString(从客户端到服务器),一个是convertToString(从服务器到客户端),我们要做的就是在这两个方法中编写你想要转换的类相应的代码.
(1).局部转换
局部转换就是在你需要类型转换的action的同目录下建立格式如:xxx-conversion.properties的文件
xxx代表你的action的名字,在properties中加入:
yyy=zzz
yyy代表action中你需要转换的成员变量,(注意yyy不是类型),zzz代表转换yyy所用的java(要写完整的相对路径如:com.test.converter.PointConverter)
局部转换就是针对某一个action;如果action中有多个同类型的成员变量,则需要写多行.如有
Point point,point1,point2;
则需要在xxx-conversion.properties中加入
point=com.test.converter.PointConverter
point1=com.test.converter.PointConverter
point2=com.test.converter.PointConverter
显然这样是很麻烦的.这时候我们就要用到全局转换了;
(2).全局转换
全局转换是针对某一个类的.我们需要在src目录下建立xwork-conversion.properties.
加入
yyy=zzz
yyy代表你的类型的相对路径,如com.test.bean.Point
zzz代表转换yyy所用的java,这里跟局部转换是一样的.如(com.test.converter.PointConverter)
finished!
Ps:struts2中还有一个很方便的功能.在下面全部不用用到任何转换.
如果有一个bean
public class Point {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return ""+x+"and"+y;
}
}
在你的jsp中可以这样写:
<s:form action="haha">
<s:textfield name="point.x" label="Point.x"></s:textfield>
<s:textfield name="point.y" label="Point.y"></s:textfield>
<s:submit value="submit"></s:submit>
</s:form>
注意两个textfield中的name.
然后在haha.java的action中有一个类型为Point的成员变量point.
在输出的页面中,我们可以写
<s:property value="point"/>
然后point会调用它的类中的toString方法.
所以我们就需要在Point类中重写toString方法.如上面所见;
或者,我们也可以这样写:
<s:property value="point.x"/>
<s:text name="and"></s:text>
<s:property value="point.y"/>
得到的结果是一样的.
分享到:
相关推荐
### Struts2自定义类型转换:深入解析与实践 #### 引言 在Web开发中,数据类型转换是一项常见的需求,特别是在用户输入的数据与后端处理的数据类型不一致时。Struts2框架提供了强大的类型转换机制,允许开发者...
然而,对于如Date这样的复杂类型,需要自定义转换器来处理。 创建自定义类型转换器的步骤如下: 1. **定义转换器类**:继承`org.apache.struts2.util.FieldConverter`或`...
### Struts自定义类型转换器 #### 一、概述 在Web开发中,表单提交的数据通常是字符串形式的,而在业务逻辑处理时往往需要将这些数据转换为其他类型的对象(如日期、数字等)。Struts框架为了更好地处理这种类型...
Struts2作为一款流行的Java Web框架,其在处理用户输入数据时扮演着重要角色。...在练习中,你可以尝试创建不同的自定义转换器,并理解它们在处理不同类型数据时的作用,从而加深对Struts2数据处理机制的理解。
本实例练习旨在帮助你深入理解Struts2的工作原理,特别是自定义类型转换和拦截器的使用。 首先,让我们详细探讨Struts2的MVC架构。在MVC模式中,Model代表业务逻辑,View负责展示数据,而Controller则是两者之间的...
自定义类型转换器是Struts 2的核心特性之一,允许开发者根据业务需求定制数据转换规则。以下将详细介绍如何创建、注册以及使用自定义类型转换器。 1. **创建自定义类型转换器** - 创建一个类,实现`org.apache....
接着,当Struts2接收到相关参数时,会自动调用自定义转换器进行转换。 6. **调试与测试** 调试自定义类型转换器通常涉及到设置断点,观察转换过程中的变量状态,以及通过单元测试确保转换逻辑的正确性。在IDE如...
理解并掌握如何利用内置转换器、自定义转换器以及处理转换错误,对于构建高效、稳定的Struts2应用至关重要。通过深入学习Struts2的源码和使用相关工具,我们可以更深入地了解这些机制,并优化我们的应用程序。
Struts2是一个强大的MVC框架,它在处理用户请求时涉及到数据类型的转换,这在处理复杂的表单数据或者自定义对象时尤其重要。本篇文章将详细介绍如何在Struts2中进行配置与自定义类型转换。 首先,Struts2的配置主要...
2. 在struts.xml配置文件中定义`<global-converters>`或`<package>`级别的`<converters>`元素,添加自定义转换器。 此外,Struts2还提供了`ConversionError`接口,用于处理转换失败的情况。当转换失败时,我们可以...
标签中的“源码”可能意味着博客会深入到Struts2框架的源代码中,解释类型转换器的工作原理和如何根据源代码实现自定义转换器。而“工具”可能指的是使用Struts2提供的工具类或API来辅助类型转换。 在`Struts2_3500...
Struts2是一个流行的Java web开发...总之,Struts2的类型转换机制为开发者提供了强大的灵活性和便利性,不仅可以处理基本类型,还能方便地扩展以支持自定义类型和复杂数据结构的转换,从而简化了Web应用的开发工作。
通常,Struts2框架内置了一些基本类型的转换器,但有时我们需要对特定的数据类型进行自定义转换,这时就需要编写自定义的转换类。下面将详细讲解如何在Struts2中实现自定义转换类。 首先,了解Struts2的转换机制。...
Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括MVC设计模式的实现、类型转换、国际化、拦截器等。在本篇“Struts2学习笔记三”中,我们将聚焦于Struts2的类型转换这一核心特性。类型转换在处理...
总的来说,Struts2的类型转换机制为开发者提供了灵活的输入数据处理方式,既可以利用内置转换,也可以自定义转换器以适应复杂的业务场景。正确理解和使用这一机制,可以提高代码的可维护性和用户体验,确保数据的...
自定义类型转换器是当Struts2内置的转换器无法满足特定业务需求时,开发者自行创建的一种扩展方式。然而,这里提到的"自定义类型转换器"实际上与权限控制有关,而非类型转换。描述中的内容主要涉及的是如何实现用户...
自定义转换器使得Struts框架更加灵活,能够处理复杂或特殊的数据类型,提高了代码的可维护性和用户体验。通过编写自定义转换器,开发者可以确保数据转换过程符合业务规则,减少因类型不匹配导致的错误。在实际开发中...
熟悉和掌握Struts2自定义类型转换。 熟悉和掌握Struts2内建校验的操作方法 实验环境与设备: 已经接入局域网的网络实验室,机器上装有IE浏览器等; strtus2.5.8 实验内容: (1) 编写一个...