- 浏览: 917474 次
- 性别:
- 来自: 黑龙江
文章分类
- 全部博客 (209)
- struts1 (3)
- hibernate3 (19)
- java (13)
- spring2 (5)
- netBeans (1)
- eclipse (1)
- JSF (1)
- DIV+CSS篇章 (1)
- jFreeChart+Oracle之曲线,柱状及饼状图的实现 (1)
- JSF知识与技巧 (3)
- Oracle数据类型的介绍与比较 (2)
- J2EE (2)
- Ajax技术 (4)
- javaScript技术 (25)
- struts2 (16)
- C/C++程序设计 (1)
- oracle系统学习 (29)
- 算法分析 (0)
- Linux实践 (7)
- extjs开发经验 (13)
- flex开发总结 (1)
- FusionCharts总结 (0)
- 高级数据库总结 (0)
- SVG拓扑图开发总结 (0)
- CSS (1)
- CSS使用简介 (1)
- SVG (0)
- DOJO (0)
- Junit测试 (0)
- lucene (24)
- solr (6)
- tokyo tyrant 技术 (7)
- Html5 (1)
- 算法与数据结构 (0)
- 物联网相关技术学习 (0)
- UI设计 (1)
- webservice (0)
- Android (5)
- hibernate4 (3)
- solrcloud (0)
- dorado5 (0)
- dorado7 (0)
- elasticsearch (0)
- GWT (0)
- node.js (0)
- 并发编程 (1)
- 大数据 (1)
- 项目经验 (5)
最新评论
-
cs261244787:
楼主好人! 平安
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
wxluck666:
我也赞一个 很有用
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
wxluck666:
我也赞一个 很有用
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
xinsiyou:
牛逼,就是样式被搞没了
JS实现选项右移,左移,向上,向下调整顺序 -
unnamed__:
这代码风格就像一坨翔
java获取数据库的列名,类型等信息
一.第一种struts2类型转换方式实例
1.convert.jsp
2.convertResult.jsp
3.Point.java(POJO类)
4.struts.xml
5.ConvertAction.java
6.ConvertAction-conversion.properties(必须与ConvertAction类在同一级包下定义)
7.PointConverter.java
8.Point2Converter.java
9.访问地址:
http://localhost:8080/struts2/convert.jsp
输入:
1,2
3,4
输出:
point1:1,2
point2:3,4
说明:这种类型转换不能代码复用,有多个对象转换时就需要编写多个转换器。
1.convert.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>类型转换</title> </head> <body> <form action="convert.action" method="post"> point1:<input name="point" type="text"></br> point2:<input name="point2" type="text"></br> <input type="submit" value="submit"> </form> </body> </html>
2.convertResult.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@ taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>类型转换结果页面</title> </head> <body> point1:<s:property value="point"/><br> point2:<s:property value="point2"/> </body> </html>
3.Point.java(POJO类)
package com.hitsoft.model; 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() { String result = "x = " + x + " , y = " +y; return result; } }
4.struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="struts2" extends="struts-default"> <action name="convert" class="com.hitsoft.action.ConvertAction"> <result name="success">/convertResult.jsp</result> </action> </package> </struts>
5.ConvertAction.java
package com.hitsoft.action; import java.util.Date; import com.hitsoft.model.Point; import com.opensymphony.xwork2.ActionSupport; public class ConvertAction extends ActionSupport{ private Point point; private Point point2; public Point getPoint() { return point; } public void setPoint(Point point) { this.point = point; } public Point getPoint2() { return point2; } public void setPoint2(Point point2) { this.point2 = point2; } public String execute() throws Exception{ return "success"; } }
6.ConvertAction-conversion.properties(必须与ConvertAction类在同一级包下定义)
point=com.hitsoft.convert.PointConverter point2=com.hitsoft.convert.Point2Converter
7.PointConverter.java
package com.hitsoft.convert; import java.util.Map; import com.hitsoft.model.Point; import ognl.DefaultTypeConverter; public class PointConverter extends DefaultTypeConverter{ @Override public Object convertValue(Map context, Object value, Class toType) { if(Point.class == toType){ String[] str = (String[])value; String firstValue = str[0]; String[] resultValue = firstValue.split(","); Point point = new Point(); point.setX(Integer.parseInt(resultValue[0])); point.setY(Integer.parseInt(resultValue[1])); return point; }else if(String.class == toType){ Point point = (Point)value; int x = point.getX(); int y = point.getY(); String result = "x: " + x + "y:" + y; return result; } return null; } }
8.Point2Converter.java
package com.hitsoft.convert; import java.util.Map; import com.hitsoft.model.Point; import ognl.DefaultTypeConverter; public class Point2Converter extends DefaultTypeConverter{ @Override public Object convertValue(Map context, Object value, Class toType) { if(Point.class == toType){ String[] str = (String[])value; String firstValue = str[0]; String[] resultValue = firstValue.split(","); Point point = new Point(); point.setX(Integer.parseInt(resultValue[0])); point.setY(Integer.parseInt(resultValue[1])); return point; }else if(String.class == toType){ Point point = (Point)value; int x = point.getX(); int y = point.getY(); String result = "x: " + x + "y:" + y; return result; } return null; } }
9.访问地址:
http://localhost:8080/struts2/convert.jsp
输入:
1,2
3,4
输出:
point1:1,2
point2:3,4
说明:这种类型转换不能代码复用,有多个对象转换时就需要编写多个转换器。
评论
1 楼
soulaxin
2012-03-09
结果咋是这样的倪?
都没有执行这个判断
或者是调用Point类的toString方法~
point1:1,2 point2:3,4
都没有执行这个判断
}else if(String.class == toType){ Point point = (Point)value; int x = point.getX(); int y = point.getY(); String result = "x: " + x + "y:" + y; return result; }
或者是调用Point类的toString方法~
发表评论
-
struts2,hibernate4,spring3配置时问题汇总及解决办法
2013-07-03 09:09 403631.java.lang.NoClassDefFoundEr ... -
struts2类型转换实现3(使用全局配置文件xwork-conversion.properties)
2012-02-15 11:09 9766三.第三种struts2类型转换方式实例 1.convert. ... -
struts2类型转换实现2(通过继承StrutsTypeConverter抽象类)
2012-02-15 11:09 2618二.第二种struts2类型转换方式实例 1.convert. ... -
xwork源码分享
2012-02-14 15:22 0下载xwork源码的网站是www.opensymphony.c ... -
Struts2之helloword实例
2012-02-15 11:10 10511.helloworld.jsp <%@ page la ... -
struts2监听器PreResultListener的使用方法
2012-02-14 14:53 0struts2监听器PreResultListener的使用方 ... -
struts2异常处理(全局与局部异常定义)
2012-02-14 14:49 5428一.struts2局部异常处理 1.exception.jsp ... -
struts2拦截器的使用方式
2012-02-14 14:48 1506一.struts2拦截器的使用方式1(实现Intercepto ... -
struts2文件上传
2012-02-14 08:49 1069struts2文件上传实例: 1.upload.jsp < ... -
struts2国际化i18n(internationalization)
2012-02-14 08:49 2026i18n 就是internationalization这18个 ... -
struts2表单验证
2012-02-13 20:36 961struts2表单验证 -
struts2驱动模型的使用(Action类实现ModelDriven接口)
2012-02-13 20:35 2080struts2驱动模型的使用实例: 1.modelDriven ... -
MVC设计模式简介
2012-02-13 20:32 1122MVC设计模式简介 -
struts2简介
2012-02-13 20:31 1033struts2简介 -
struts2实现树状结构
2008-11-06 12:13 2185<%@ page language="java ... -
Struts2与Ajax
2008-11-05 20:54 1796Struts2和Struts相比,一个重大改进就是支持Ajax ... -
对于struts2开发者比较实用的网站汇总
2008-10-16 17:37 1287http://lib.verycd.com/2007/12/1 ...
相关推荐
开发者可以通过继承`StrutsTypeConverter`抽象类来快速实现自定义类型转换器。相比第一种方式,这种方式可以减少对转换类型的判断逻辑。 ```java public abstract class StrutsTypeConverter extends ...
1. **创建自定义类型转换器**:通过继承`StrutsTypeConverter`并实现`convertFromString`和`convertToString`方法。 2. **配置类型转换规则**: - 对于**全局类型转换**,在类路径下创建`xwork-conversion....
自定义类型转换可以通过实现特定接口来完成,比如继承`org.apache.struts2.util.ConversionError`和`org.apache.struts2.util.TypeConverter`等。 #### 二、局部类型转换器与全局类型转换器的区别 **2.1 局部类型...
`StrutsTypeConverter`是一个抽象类,作为`DefaultConverter`的子类,它简化了转换器的实现,提供了`convertToString`和`convertFromString`这两个主要方法,分别用于字符串到对象和对象到字符串的转换。 在实现...
1. **编程式校验**:Action类需要实现`Validateable`接口,这会使得Struts2在执行`execute`方法前调用`validate`方法。在`validate`方法中,可以添加针对每个字段的校验逻辑,如果发现错误,通过`addActionError`或`...
这可以通过实现Converter接口或继承DefaultTypeConverter类来完成。在描述中提到的"interceptor"文件,很可能包含了关于拦截器(Interceptor)的配置或示例代码,因为拦截器是Struts2中实现类型转换的关键组件之一。...
自定义转换器通过实现Struts2的TypeConverter接口,或者继承DefaultTypeConverter类来实现。你需要重写`convertValue()`方法,根据实际需求进行转换。注册自定义类型转换器有三种方式:局部类型转换器、全局类型转换...
自定义转换器需要继承`org.apache.struts2.util.DefaultTypeConverter`,并重写`convertValue()`方法。在该方法中,可以通过ActionContext获取上下文信息,对需要转换的值进行处理,并指定目标类型。 自定义转换器...
开发者可以通过实现这个接口创建自定义的类型转换器,或者继承`ognl.DefaultTypeConverter`简化实现过程。`convertValue`方法是核心,它负责执行实际的类型转换,无论是将对象转换为字符串,还是将字符串转换为对象...
这可以通过继承`DefaultTypeConverter`类并重写`convertValue`方法来实现。例如,为了处理`yyyyMMdd`格式的日期,可以创建一个`DateConverter`类,并在其中定义相应的转换逻辑。 自定义转换器有两种注册方式: 1. ...
在实际应用中,常常会继承Struts2提供的StrutsTypeConverter类,覆盖convertFromString和convertToString方法,以便更灵活地进行字符串到对象以及对象到字符串的转换。 三、Struts2输入校验 Struts2提供了两种主要...
Struts2还提供了一个名为`StrutsTypeConverter`的类,它继承自`DefaultTypeConverter`,简化了自定义类型转换器的实现。我们可以直接继承`StrutsTypeConverter`而不是`DefaultTypeConverter`,这样可以利用Struts2的...
Struts2框架提供了一种灵活的方式来实现这种类型的转换——即通过自定义类型转换器(Type Converters)。本文档将详细介绍如何在Java中自定义类型转换器,并通过一个具体的例子来演示其使用方法。 #### 二、局部...
OGNL表达式实现类型转换 9.Struts2_03_validate_review 输入校验 ————复习前面的 10.Struts2_04_validate_method ????????????? validateXXX方法校验得到的错误信息先显示出来,然后才是...
在Struts2框架中,类型转换器扮演着关键...为了使Struts2框架能够识别并使用这个自定义类型转换器,还需要在配置文件中进行声明,或者通过注解`@Result`和`@Param`来指定。在XML配置文件中,你可以这样配置: ```xml ...
1. 创建一个自定义的`DateConverter`类,继承`DefaultTypeConverter`,实现`String`到`Date`和`Date`到`String`的转换逻辑。 2. 在`xwork-conversion.properties`文件中注册`DateConverter`,映射到`java.util.Date`...
Struts2提供了一种简化类型转换编码的方式,即通过继承`StrutsTypeConverter`,覆盖`convertFromString()`和`convertToString()`两个抽象方法。这两个方法分别负责将页面输入的字符串转换为后台对象,以及将后台对象...
通过深入理解Struts2的类型转换与拦截器机制,开发者能够更好地利用这些特性来构建高效、稳定的Web应用程序。类型转换确保了数据的一致性和安全性,而拦截器则提供了强大的扩展性和灵活性,这些都是Struts2作为顶级...
1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp-------------------------------采用struts标签的登陆页面 login_struts_...
通过这两个组件,Struts2实现了动态的数据绑定和灵活的类型转换功能。 #### 二、OGNL与ValueStack ##### 1. OGNL简介 OGNL是一种强大的表达式语言,用于获取和设置Java对象的属性。在Struts2中,OGNL被用来解析和...