`
niulanshan
  • 浏览: 565381 次
文章分类
社区版块
存档分类
最新评论

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



分享到:
评论

相关推荐

    STRUTS2类型转换

    Struts2是一个流行的Java web开发框架,其核心是Action,而类型转换是Struts2处理用户输入数据的一个重要环节。Struts2内置了多种类型转换,可以将HTTP请求中的字符串数据转换为各种基本类型和复杂类型,如日期、...

    struts2类型转换

    本篇文章将深入探讨Struts2中的类型转换机制。 1. **类型转换的概念** 类型转换是指将一个数据类型的值转换为另一个数据类型的过程。在网络请求中,用户输入的数据通常是字符串类型,而服务器端的Action类属性可能...

    struts2 类型转换器

    在Struts2中,类型转换器(Type Converter)是框架的一个关键特性,用于处理Action类中属性的自动类型转换。这个特性使得开发者无需手动进行数据类型之间的转换,从而提高了开发效率和代码的可读性。 标题中的...

    Struts2类型转换(一)----常规类型,自定义类型,错误处理

    Struts2是一个强大的MVC框架,它在处理Web应用程序时提供了许多便利,其中包括类型转换功能。类型转换是将用户输入的数据自动转化为服务器端处理所需的类型,这样可以避免手动转换带来的繁琐工作。本篇文章将深入...

    struts2类型转换深入总结

    其中,类型转换(Type Conversion)是Struts2框架中的一个重要功能,它负责将HTTP请求参数转化为Action类中相应属性的类型。这篇博客文章“Struts2类型转换深入总结”将深入探讨这一主题。 在Struts2中,类型转换...

    struts2类型转换和验证流程图

    ### Struts2类型转换与验证流程详解 #### Struts2框架概述 Struts2是一个用于构建企业级Java Web应用的强大框架。它集成了MVC设计模式,并提供了丰富的插件支持和灵活的配置选项。在Struts2中,类型转换和验证机制...

    struts2简单实例(类型转换)

    Struts2框架提供了一种机制,即类型转换器(Type Converter),用于自动将请求参数转化为预期的数据类型。 在Struts2中,实现类型转换主要有两种方式: 1. 使用内置的类型转换器:Struts2已经内置了一些常见的类型...

    struts2类型转换和国际化

    在Struts2中,类型转换和国际化是两个重要的特性,用于处理数据类型之间的转换以及多语言环境下的内容显示。 **类型转换**是Struts2处理请求参数与Action类属性之间数据类型不匹配的过程。当用户通过表单提交请求时...

    struts2简单实例(类型转换方法对比)

    本实例主要探讨了在Struts2中进行类型转换的三种方法:局部类型转换、全局类型转换以及大量数据类型的转换。对于初学者来说,理解并掌握这些转换方式至关重要,因为它们能够帮助我们处理用户输入的数据,并将其转化...

    struts2类型转换 拦截器 校验的例子

    Struts2内置了一套类型转换机制,能够自动将字符串数据转化为预设的类型。如果默认的转换器无法满足需求,开发者可以自定义转换器,通过实现`Converter`接口并注册到配置中,来实现特定类型的转换。 接下来,我们...

    struts2学习笔记3数据类型转换

    struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换

    struts2类型转换机制

    struts2类型转换机制

    Struts2 ConverterType类型转换 案例源码

    Struts2是一个强大的MVC框架,它在处理用户请求时提供了丰富的功能,其中包括类型转换(Converter)。类型转换是Struts2框架中一个重要的特性,它允许我们把前端表单提交的数据自动转换为后端Java对象的属性。在这个...

    Struts2类型转换与输入校验 .zip

     熟悉和掌握Struts2自定义类型转换。  熟悉和掌握Struts2内建校验的操作方法  实验环境与设备:  已经接入局域网的网络实验室,机器上装有IE浏览器等;  strtus2.5.8  实验内容: (1) 编写一个...

    struts2 类型转换 数据校验

    2. **自定义转换器**:如果需要处理特殊类型或有特定转换规则,可以通过实现`org.apache.struts2.util.TypeConverter`接口创建自定义转换器,并通过`@Result`注解或者`struts.xml`配置文件进行注册。 3. **转换异常*...

    STRUTS2类型转换错误导致OGNL表达式注入漏洞分析1

    《STRUTS2类型转换错误导致OGNL表达式注入漏洞分析》 STRUTS2框架在处理用户输入时出现的类型转换错误,可能导致OGNL(Object-Graph Navigation Language)表达式注入漏洞。此漏洞允许攻击者通过精心构造的输入,...

Global site tag (gtag.js) - Google Analytics