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、文件路径如下: