- 浏览: 153544 次
- 性别:
- 来自: 杭州
文章分类
最新评论
类型转换:
步骤:
1. Input.jsp
2. Struts.xml
3. Output.jsp
4. PointAction类
5. Point类
6. 在com.test.action包下创建PointAction.conversion.properties文件
7. PointConverter类
类型转换(继承StrutsTypeConverter):
PointCoverter类如下,其它一样
类型转换(批量转换):
1. Input.jsp:
2. Output.jsp:
3. 主要是PointAction类:
4. PointAction-conversion.properties文件
5. PointCoverter2类
类型转换(对象属性方式):
1. input.jsp
2. output.jsp
3. PointAction-conversion.properties文件
4. PointAction类:
5. Point类重写toStirng
类型转换(全局):
1. 在src下建立xwork-conversion.properties(固定)文件
2. PointAction-conversion.properties文件
3. Input.jsp中坐标:
步骤:
1. Input.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <h1>坐标请用逗号分隔</h1> <form action="converterAction.action" method="post"> 坐标:<input type="text" name="point" size="20"/><br> 用户名:<input type="text" name="username" size="20" /><br> 年龄:<input type="text" name="age" size="20" /><br> 生日:<input type="text" name="birthday" size="20" /><br> <input type="submit" value="提交"/> </form> </body> </html>
2. 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="helloworld" class="com.test.action.HelloWorld"> <result>/helloworld.jsp</result> </action> <action name="login" class="com.test.action.LoginAction"> <result>/result.jsp</result> </action> <action name="converterAction" class="com.test.action.PointAction"> <result name="success">/output.jsp</result> <result name="input">/error.jsp</result> </action> </package> </struts>
3. Output.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> 坐标:<s:property value="point"/><br> 用户名:<s:property value="username"/><br> 年龄:<s:property value="age"/><br> 生日:<s:property value="birthday" /><br> </body> </html>
4. PointAction类
package com.test.action; import java.util.Date; import com.opensymphony.xwork2.ActionSupport; import com.test.bean.Point; public class PointAction extends ActionSupport{ private Point point; private String username; private int age; private Date birthday; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public Point getPoint() { return point; } public void setPoint(Point point) { this.point = point; } public String execute() throws Exception{ return "success"; } }
5. Point类
package com.test.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; } }
6. 在com.test.action包下创建PointAction.conversion.properties文件
point=com.test.converter.PointCoverter
7. PointConverter类
package com.test.converter; import java.util.Map; import ognl.DefaultTypeConverter; import com.test.bean.Point; public class PointCoverter extends DefaultTypeConverter { @SuppressWarnings("unchecked") @Override public Object convertValue(Map context, Object value, Class toType) { if(Point.class==toType){ String[] str=(String[])value; String firstValue=str[0]; String[] result=firstValue.split(","); Point point=new Point(); point.setX(Integer.parseInt(result[0])); point.setY(Integer.parseInt(result[1])); return point; }else if(String.class==toType){ Point point=(Point)value; int x=point.getX(); int y=point.getY(); return "x:"+x+",y:"+y; } return null; } }
类型转换(继承StrutsTypeConverter):
PointCoverter类如下,其它一样
package com.test.converter; import java.util.Map; import org.apache.struts2.util.StrutsTypeConverter; import com.test.bean.Point; public class PointCoverter1 extends StrutsTypeConverter { @Override public Object convertFromString(Map context, String[] values, Class toClass) { String firstValue=values[0]; String[] result=firstValue.split(","); Point point=new Point(); point.setX(Integer.parseInt(result[0])); point.setY(Integer.parseInt(result[1])); return point; } @Override public String convertToString(Map context, Object o) { Point point=(Point)o; int x=point.getX(); int y=point.getY(); return "x:"+x+",y="+y; } }
类型转换(批量转换):
1. Input.jsp:
坐标:<input type="text" name="point" size="20"/><br> 坐标1:<input type="text" name="point" size="20"/><br> 坐标2:<input type="text" name="point" size="20"/><br>
2. Output.jsp:
坐标:<s:property value="point"/><br>
3. 主要是PointAction类:
private List<Point> point;
4. PointAction-conversion.properties文件
#point=com.test.converter.PointCoverter1 #point1=com.test.converter.PointCoverter1 point=com.test.converter.PointCoverter2
5. PointCoverter2类
package com.test.converter; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.struts2.util.StrutsTypeConverter; import com.test.bean.Point; public class PointCoverter2 extends StrutsTypeConverter { @Override public Object convertFromString(Map context, String[] values, Class toClass) { List<Point> list=new ArrayList<Point>(); for(String str : values){ String[] result=str.split(","); Point point=new Point(); point.setX(Integer.parseInt(result[0])); point.setY(Integer.parseInt(result[1])); list.add(point); } return list; } @Override public String convertToString(Map context, Object o) { List<Point> list=(List<Point>)o; StringBuffer buf=new StringBuffer(); int number=0; for(Point point : list){ number++; int x=point.getX(); int y=point.getY(); buf.append(number).append(". x=").append(x).append(",y=").append(y).append("\n"); } return buf.toString(); } }
类型转换(对象属性方式):
1. input.jsp
x:<input type="text" name="point.x" size="20"/><br> y:<input type="text" name="point.y" size="20"/><br>
2. output.jsp
坐标:<s:property value="point"/><br>
3. PointAction-conversion.properties文件
#point=com.test.converter.PointCoverter1 #point1=com.test.converter.PointCoverter1 #point=com.test.converter.PointCoverter2
4. PointAction类:
private Point point;
5. Point类重写toStirng
@Override public String toString() { String str="x="+x+",y="+y; return str; }
类型转换(全局):
1. 在src下建立xwork-conversion.properties(固定)文件
com.test.bean.Point=com.test.converter.PointCoverter1
2. PointAction-conversion.properties文件
#point=com.test.converter.PointCoverter1 #point1=com.test.converter.PointCoverter1 #point=com.test.converter.PointCoverter2
3. Input.jsp中坐标:
<input type="text" name="point" size="20"/><br>
发表评论
-
struts2.1改变配置文件默认位置
2011-03-31 14:01 752<filter> <init-par ... -
整合SSH2时需注意几点
2010-12-10 16:35 8201.需要导入struts2-spring-plugin-2.1 ... -
ssh2
2010-11-11 13:56 1831准备条件: 1. 建WEB工程:ssh2 2. 建数据库ssh ... -
spring整合hibernate
2010-11-08 08:59 802准备条件: 1. 创建数据库hibernatespring,表 ... -
代理模式
2010-11-08 08:58 815一. 静态代理 1. Subject.java packa ... -
单例模式
2010-11-08 08:57 6291. Singleton.java package com ... -
spring整合struts2
2010-11-08 08:56 717前言: 1. 创建工程strutsspring 2. 导入st ... -
反射案例
2010-11-08 08:56 685案例一: 1. Test.java package com ... -
spring配置文件中集合类型的配置
2010-11-08 08:54 926前言: Spring中对于有些bean会有集合类型的属性,以下 ... -
spring用到的设计模式-工厂模式
2010-11-08 08:53 1215Spring用到的设计模式之一 核心:用到工厂设计模式 1. ... -
读取applicationContext.xml的两种方式
2010-11-08 08:52 916第一种: ClassPathResource cpr=ne ... -
用图形查看spring配置文件依赖关系
2010-11-08 08:51 911myeclipse提供了这样的功能: window->s ... -
spring的基本操作IOC
2010-11-08 08:51 707前言: Spring通过IOC/DI来实现获取对象 准备: 1 ... -
spring的基本操作-反射
2010-11-08 08:50 1085前言: Spring通过反射来实现获取对象 准备: 1. 建S ... -
Struts2整合Hibernate
2010-10-29 19:00 19881. 准备条件: 1.1 在MYSQL中创建hibernate ... -
hibernate级联操作
2010-10-29 18:59 870准备条件: 1. 创建hibernate3工程 2. 导入hi ... -
hibernate基本操作
2010-10-29 18:58 7181.准备条件: 1.1 创建hibernate2工程 1.2 ... -
JDBC
2010-10-29 18:56 737一. JDBC连接Access实例 1. 准备条件 1.1 创 ... -
文件上传
2010-10-26 14:49 6621. upload.jsp <%@ page lan ... -
调用指定Action的方法
2010-10-26 14:48 734主要在配置文件中配置下: 注:如应用于增删改查的类 1. st ...
相关推荐
各种string类型转换
LabVIEW中TCP通讯需要用到的强制类型转换的使用方法
在程序开发过程中经常需要进行数据的类型转换,而且如果一个字段的类型改成另一个类型时,所有相关的类型转换的地方都要跟着修改,不但造成了很多重复转换的代码而且修改字段类型时额外修改相关转换代码的工作量也很...
数据库中clob类型转换的问题 数据库中clob类型转换的问题
VC数据类型转换详解 VC数据类型转换详解
其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之 间的转换、字符串和字符数组/字节数组之间的转换、各种数值类型和字节数组之间的转换、十六进制数输出以及...
有时候需要对数据内置的类型进行转换,在进行数据类型的转换时只需要将数据类型作为函数名即可,在Python中内置了一些数据类型转换的函数: 1. int()函数 int() 函数用于将一个字符串或数字转换为整型。 语法:int(x...
C#常用类型转换扩展 common type conversion extension
异构数据库中的数据类型转换, 异构数据库中的数据类型转换论文
C++和C#的类型转换,全面地列出了C++和C#中对应的类型,因为在调用dll中经常地在两种语言之间转换数据类型。
C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。
类的转换,C++的内部数据类型遵循隐式类型转换规则,成员转换函数
C# 的类型转换.docC# 的类型转换.docC# 的类型转换.docC# 的类型转换.docC# 的类型转换.doc
wxWidgets的类型转换 char int wxString
Struts2自定义类型转换器 如果用户登陆后,可以访问Action中的所有方法,如果用户没有登陆,不允许访问Action中的方法。并且提示你没有权限执行该操作!
C运行时类型信息RTTI及类型转换的简单介绍
mybatis 对clob类型转换,解决clob类型数据插入数据库报异常问题
mysql数据类型转换
提供了西门子PLC 不同数据类型转换Tool collection of conversion blocks for data type conversions
常用的js数据类型转换函数parseInt