zoukankan      html  css  js  c++  java
  • struts2类型转化

    1、新建一个web项目,struts2;


    2、在WebRoot目录下,新建一个input.jsp文件;

    input.jsp:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>输出页面</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
      <body>
        point:<s:property value="point"/>
        age:<s:property value="age"/>
        username:<s:property value="username"/>
        date:<s:property value="date"/>
      </body>
    </html>
    

    3、找到src文件,在其下新建一个Java包com.you.converter,并在该包下新建一个Class,PointConverter;

    PointConverter.java:

    /**
     * @Title:PointConverter.java
     * @Package:com.you.converter
     * @Description:字符串转化
     * @author:Youhaidong(游海东)
     * @date:2013-7-1 下午10:51:41
     * @version V1.0
     */
    package com.you.converter;
    
    import java.util.Map;
    import com.you.bean.Point;
    import ognl.DefaultTypeConverter;
    
    /**
     * 类功能说明
     * 类修改者 修改日期
     * 修改说明
     * <p>Title:PointConverter.java</p>
     * <p>Description:游海东个人开发</p>
     * <p>Copyright:Copyright(c)2013</p>
     * @author:游海东
     * @date:2013-7-1 下午10:51:41
     * @version V1.0
     */
    public class PointConverter extends DefaultTypeConverter {
    
    	/* (non-Javadoc)
    	 * <p>Title:convertValue</p>
    	 * <p>Description:</p>
    	 * @param context
    	 * @param value
    	 * @param toType
    	 * @return
    	 * @see ognl.DefaultTypeConverter#convertValue(java.util.Map, java.lang.Object, java.lang.Class)
    	 */
    	@Override
    	public Object convertValue(Map context, Object value, Class toType) {
    		if(Point.class == toType)
    		{
    			//
    			Point point = new Point();
    			//
    			String[] str = (String[])value;
    			//字符串数组
    			String[] paramValues = str[0].split(",");
    			//
    			int x = Integer.parseInt(paramValues[0]);
    			//
    			int y = Integer.parseInt(paramValues[1]);
    			//给x,y设置值
    			point.setX(x);
    			point.setY(y);
    			return point;
    		}
    		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;
    	}
    
    }
    

    4、再新建一个com.you.struts包,并在其中新建一个PointAction;

    PointAction.java:

    /**
     * @Title:PointAction.java
     * @Package:com.you.struts
     * @Description:转化类
     * @author:Youhaidong(游海东)
     * @date:2013-7-1 下午11:08:00
     * @version V1.0
     */
    package com.you.struts;
    
    import java.util.Date;
    import com.opensymphony.xwork2.ActionSupport;
    import com.you.bean.Point;
    
    /**
     * 类功能说明
     * 类修改者 修改日期
     * 修改说明
     * <p>Title:PointAction.java</p>
     * <p>Description:游海东个人开发</p>
     * <p>Copyright:Copyright(c)2013</p>
     * @author:游海东
     * @date:2013-7-1 下午11:08:00
     * @version V1.0
     */
    public class PointAction extends ActionSupport {
    
    	/**
    	 * @Fields  serialVersionUID:序列号
    	 */
    	private static final long serialVersionUID = 1L;
    	
    	private Point point;
    	
    	private int age;
    	
    	private String username;
    	
    	private Date date;
    
    	/* (non-Javadoc)
    	 * <p>Title:execute</p>
    	 * <p>Description:</p>
    	 * @return
    	 * @throws Exception
    	 * @see com.opensymphony.xwork2.ActionSupport#execute()
    	 */
    	@Override
    	public String execute() throws Exception {
    		return SUCCESS;
    	}
    
    	
    	public Point getPoint() {
    		return point;
    	}
    
    	public void setPoint(Point point) {
    		this.point = point;
    	}
    
    	public int getAge() {
    		return age;
    	}
    
    	public void setAge(int age) {
    		this.age = age;
    	}
    
    	public String getUsername() {
    		return username;
    	}
    
    	public void setUsername(String username) {
    		this.username = username;
    	}
    
    	public Date getDate() {
    		return date;
    	}
    
    	public void setDate(Date date) {
    		this.date = date;
    	}
    
    }
    

    5、新建输出output.jsp

    output.jsp:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>输出页面</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
      <body>
        point:<s:property value="point"/>
        age:<s:property value="age"/>
        username:<s:property value="username"/>
        date:<s:property value="date"/>
      </body>
    </html>
    

    6、配置struts.xml

    struts.xml:

    <action name="pointCoverter" class="com.you.struts.PointAction">
          <result name="success">/output.jsp</result>
    </action>


    7、在com.you.struts新建一个文件,PointAction-conversion.properties;

    ##PointConverter
    point=com.you.converter.PointConverter

    8、运行struts2,在地址栏输入:http://localhost:8080/struts2/input.jsp



    9、点击“submit”,出现如下图:


    10、文件路径如下:



  • 相关阅读:
    URL编码与解码
    什么通用数据交换格式更好
    JSON(JavaScript Object Notation)
    二维码与json都是数据交换格式
    数据的存在形式
    NSData、数据结构与数据转换
    物理结构与逻辑结构
    NSKeyedArchiver : NSCoder
    The Role of View Controllers
    Content-Type与MIME
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13315792.html
Copyright © 2011-2022 走看看