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>
##PointConverter
point=com.you.converter.PointConverter
8、运行struts2,在地址栏输入:http://localhost:8080/struts2/input.jsp
9、点击“submit”,出现如下图:
10、文件路径如下: