第三种struts2类型转换方式实例
1.convert.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  3. <html>
  4. <head>
  5. <title>类型转换</title>
  6. </head>
  7. <body>
  8. <form action="convert.action" method="post">
  9. point:<input name="point" type="text"></br>
  10. <input type="submit" value="submit">
  11. </form>
  12. </body>
  13. </html>

2.convertResult.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
  2. <%@ taglib uri="/struts-tags" prefix="s" %>
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4. <html>
  5. <head>
  6. <title>类型转换结果页面</title>
  7. </head>
  8. <body>
  9. point:<s:property value="point"/>
  10. </body>
  11. </html>

3.Point.java(POJO类)

  1. package com.hitsoft.model;
  2. public class Point {
  3. private int x;
  4. private int y;
  5. public int getX() {
  6. return x;
  7. }
  8. public void setX(int x) {
  9. this.x = x;
  10. }
  11. public int getY() {
  12. return y;
  13. }
  14. public void setY(int y) {
  15. this.y = y;
  16. }
  17. @Override
  18. public String toString() {
  19. String result = "x = " + x + " , y = " +y;
  20. return result;
  21. }
  22. }

4.struts.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5. <struts>
  6. <package name="struts2"  extends="struts-default">
  7. <action name="convert" class="com.hitsoft.action.ConvertAction">
  8. <result name="success">/convertResult.jsp</result>
  9. </action>
  10. </package>
  11. </struts>

5.ConvertAction.java

  1. package com.hitsoft.action;
  2. import java.util.Date;
  3. import com.hitsoft.model.Point;
  4. import com.opensymphony.xwork2.ActionSupport;
  5. public class ConvertAction extends ActionSupport{
  6. private Point point;
  7. public Point getPoint() {
  8. return point;
  9. }
  10. public void setPoint(Point point) {
  11. this.point = point;
  12. }
  13. public String execute() throws Exception{
  14. return "success";
  15. }
  16. }

6.xwork-conversion.properties(必须与struts.xml同一级包下定义)

  1. point=com.hitsoft.convert.PointConverter

7.PointConverter.java

  1. package com.hitsoft.convert;
  2. import java.util.Map;
  3. import org.apache.struts2.util.StrutsTypeConverter;
  4. import com.hitsoft.model.Point;
  5. public class PointConverter extends StrutsTypeConverter{
  6. @SuppressWarnings("unchecked")
  7. @Override
  8. public Object convertFromString(Map context, String[] values, Class toClass) {
  9. Point point = new Point();
  10. String value = values[0];
  11. String[] result = value.split(",");
  12. point.setX(Integer.parseInt(result[0]));
  13. point.setY(Integer.parseInt(result[1]));
  14. return point;
  15. }
  16. @SuppressWarnings("unchecked")
  17. @Override
  18. public String convertToString(Map context, Object o) {
  19. Point point = (Point) o;
  20. int x = point.getX();
  21. int y = point.getY();
  22. String result = "x: " + x + "y:" + y;
  23. return result;
  24. }
  25. }

8.访问地址:

http://localhost:8080/struts2/convert.jsp

输入:

1,2

输出:

point:1,2



说明:这种类型转换的优点是,对于PointConvert转换器,只有项目中用到Point对象转换,就可以自动转换

                         来源:http://wanglihu.iteye.com/blog/1405647

sturct2类型转化的更多相关文章

  1. Spring mvc @initBinder 类型转化器的使用

    一.单日期格式 因为是用注解完完成的后台访问,所以必须在大配置中配置包扫描器: 1.applicactionContext.xml <?xml version="1.0" e ...

  2. C#定义类型转化 及 格式化字符串

    operator 关键字 operator 关键字用来重载内置运算符,或提供类/结构声明中的用户定义转换.它可以定义不同类型之间采用何种转化方式和转化的结果. operator用于定义类型转化时可采用 ...

  3. C++中的显式类型转化

    类型转化也许大家并不陌生,int i; float j; j = (float)i; i = (int)j; 像这样的显式转化其实很常见,强制类型转换可能会丢失部分数据,所以如果不加(int)做强制转 ...

  4. jQuery源码分析系列(36) : Ajax - 类型转化器

    什么是类型转化器? jQuery支持不同格式的数据返回形式,比如dataType为 xml, json,jsonp,script, or html 但是浏览器的XMLHttpRequest对象对数据的 ...

  5. Asp.net 面向接口可扩展框架之使用“类型转化基础服务”测试四种Mapper(AutoMapper、EmitMapper、NLiteMapper及TinyMapper)

    Asp.net 面向接口可扩展框架的“类型转化基础服务”是我认为除了“核心容器”之外最为重要的组成部分 但是前面博文一出,争议很多,为此我再写一篇类型转化基础服务和各种Mapper结合的例子,顺便对各 ...

  6. Asp.net 面向接口可扩展框架之类型转化基础服务

    新框架正在逐步完善,可喜可贺的是基础服务部分初具模样了,给大家分享一下 由于基础服务涉及面太广,也没开发完,这篇只介绍其中的类型转化部分,命名为类型转化基础服务,其实就是基础服务模块的类型转化子模块 ...

  7. 《精通C#》自定义类型转化-扩展方法-匿名类型-指针类型(11.3-11.6)

    1.类型转化在C#中有很多,常用的是int类型转string等,这些都有微软给我们定义好的,我们需要的时候直接调用就是了,这是值类型中的转化,有时候我们还会需要类类型(包括结构struct)的转化,还 ...

  8. java类型转化之SimpleDateFormat-时间转化

    关于Date,时间戳(long),String类型之间的相互转换,主要是用到类SimpleDateFormat. 先介绍SimpleDateFormat类的一些常见格式: 1.参数: code des ...

  9. Javascript基础系列之(三)数据类型 (类型转化)

    所有语言都有类型转化的能力,javascript也不例外,它也为开发者提供了大量的类型转化访法,通过全局函数,可以实现更为复杂的数据类型. var a = 3; var b = a + 3; var ...

随机推荐

  1. MAPINFO中利用GridMaker工具创建栅格图层

    在工作中需要使用栅格地图,以往都是由研发人员来创建,今天偶然发现Mapinfo中有GridMaker这样一个工具,结合网络搜索自己试了一下,居然做成功了,这里把步骤记录下来,方便以后查看. 1.首先在 ...

  2. SharePoint 2013 为用户组自定义EventReceiver

    前 言 在SharePoint的开发中,EventReceiver是很重要的一个部分,但是,常常遇到有些需要事件的时候,却没有相应的模板,因为EventReceiver创建时的模板只有那几个,除此之外 ...

  3. Ajax异步刷新地址栏url改变(利用Html5 history.pushState实现)

    早些时候在博客园参阅了不少资料,然后决定入驻博客园分享自己的开发心得,最近准备转方向筹备着辞职交接工作,所以有点忙碌,搁置了一个月才匆匆写下这么一篇随笔,希望能给大家带来一点帮助吧,资料和学识有限,如 ...

  4. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  5. [Android]使用AdapterTypeRender对不同类型的item数据到UI的渲染

    以下内容为原创,转载请注明: 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3992843.html 本文讲的工具均放在AndroidBucket开源 ...

  6. Android Design Principles

    Android Design Principles Enchant Me Delight me in surprising ways 用惊奇的方式取悦用户 漂亮的界面,仔细放置的动画,一个恰到时机的音 ...

  7. Android自定义控件2--优酷菜单界面初始化

    本文开始将逐步去实现下面优酷菜单的效果: 本文地址:http://www.cnblogs.com/wuyudong/p/5912538.html,转载请注明源地址. 本文首先来实现优酷菜单界面初始化工 ...

  8. JSON TO NSDictionary Mac & iOS

    NSString * jsonPath=[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Cont ...

  9. 省市县三级联动 sql语句

    发现在网上的省市县三级联动大部分是mysql的.就算是sqlserver的,也不准确.于是就把mysql的给改了下,适用sqlserver.sql语句如下: CREATE TABLE Dic_Area ...

  10. 重启 IIS7 应用程序池的批处理

    批处理很简单:c:\windows\system32\inetsrv\AppCmd.exe stop apppool /apppool.name:"ASP.NET v4.0"c:\ ...