第三种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. 【原】iOS动态性(二):运行时runtime初探(强制获取并修改私有变量,强制增加及修改私有方法等)

    OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类.对象中的所有属性.方法,就算是私有方法以及私有属性都是可以动 ...

  2. ABAP 指針常用语法

    1 .定义指針 :指針的定義主 要有以下語句 定義任意類型的指針,但是不具備欄位結構(僅僅是一個地址) FIELD-SYMBOLS <carrid> TYPE ANY. 參考數據庫表定義( ...

  3. 如何实现SP文档库类似百度文档库的效果 (副标题:如何在SP2013文档库的SWF文件用FlexPager显示)

    1. 编辑文档库列表显示页面,如下图: 2. 添加内容编辑器,如下图: 3. 添加如下在[内容编辑器中]-[编辑源],添加如下JS代码,如下图: ​ 代码如下: <scrip type=&quo ...

  4. sharepoint2010问卷调查(4)-实现问卷的重复答复次数(采用自定义字段类型和JS)

    sharepoint的问卷调查可以设置重复和一次答复.但是设置一次后,调查过的用户再进行答复.会提示如下图: 分析下:该提示用户体验很不好.给用户感觉是系统出问题了.因此网上有人提出用eventhan ...

  5. Arcgis创建SDE_Geometry、SDO_Geometry的区别【转】

    1. SDO_GEOMETRY Oracle Spatial在MDSYS模式下定义了一系列几何类型.函数来支持空间数据的存储和使用,最为人耳熟能详的就是SDO_GEOMETRY这种类型——当然,Arc ...

  6. 设置 Xcode 自动生成代码片段

    一.什么是代码片段 当在Xcode中输入dowhile并回车后,Xcode会出现下图所示的提示代码: 这就是代码片段,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率.该功能是从Xcode4 ...

  7. android Activity runOnUiThread() 方法使用

    在android 中我们一般用 Handler 做主线程 和 子线程 之间的通信 . 现在有了一种更为简洁的写法,就是 Activity 里面的 runOnUiThread( Runnable )方法 ...

  8. 限制EditText 输入的字节数

    1.代码 name_tv = (EditText) findViewById( R.id.name_tv ); name_tv.addTextChangedListener(new TextWatch ...

  9. 论使用LeanCloud中遇到的坑

    1.短信验证码 当注册用户的时候,会发现收不到短信验证码,打印e : That operation isn't allowed for clients. 含义 - 该操作无法从客户端发起.请检查该错误 ...

  10. 我的android学习经历5

    android在strings.xml文件中,写string对象时,如何加入空格 <string name="password">密    码:</string& ...