自定义struts2.0中的转换器(converter)
2010-01-21 14:16
417 查看
本人做的这个转换器是帮大家认识如何最简单的做一个自定义转换器的
废话不说,马上来例子
一,先创建Simpleconverter.java动作类类
二,创建SimpleConverterConverter.java转换器类
三,创建SimpleConverter.jsp页面用于输入值
四,创建SimpleConverterResult.jsp页面用于显示输入的值
五,配置SimpleConverter-conversion.properties文件
六,配置struts.xml文件
全部文件配置好了以后,打开SimpleConverter.jsp,输入aa,提交。显示***aa---;转换器测试成功
总结:
1,SimpleConverter-conversion.properties文件的命名必须是Action类的名字+"-"+"conversion".如果不是就不会调用你自定义的转换器SimpleConverterConverter.java
2,SimpleConverter-conversion.properties文件必须放在和你的Action类同一个目录下。
3,SimpleConverter-conversion.properties里面的内容username=tutorial.SimpleConverter.java。
username为要进行自定义转换类型的字段。
4,转换器调用过程。1)提交SimpleConverter.jsp页面时.2)程序会找到struts.xml文件.3)调用里面的action类SimpleConverter.java.4)转到调用SimpleConverterConverter.java。5)在此调用SimpleConverter.java类里面的execute()方法。大家认真看输出就清楚了,特别注意我在输出***aa---里面加进了*,-就是为了说明问题。
PS,小弟弄了半天,心得体会啊
废话不说,马上来例子
一,先创建Simpleconverter.java动作类类
package tutorial; import com.opensymphony.xwork2.ActionSupport; public class SimpleConverter extends ActionSupport { private static final long serialVersionUID = 1L; private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String execute() { username = "***" + username; System.out.println(username); System.out.println(" Calling execute() "); return SUCCESS; } }
二,创建SimpleConverterConverter.java转换器类
package tutorial; import java.util.Map; import ognl.DefaultTypeConverter; public class SimpleConverterConverter extends DefaultTypeConverter { public Object convertValue(Map context,Object value ,Class toType){ System.out.println("use Converter"); if(toType==int.class){ String v=((String[])value)[0]; System.out.println("to int"); return Integer.parseInt(v); }else if(toType==String.class){ System.out.println("toString"); return ((String[])value)[0]+"---"; } return null; } }
三,创建SimpleConverter.jsp页面用于输入值
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Say Hello</title> </head> <body> <s:form action="SimpleConverter"> <s:textfield name="username" /> <s:submit /> </s:form> </body> </html>
四,创建SimpleConverterResult.jsp页面用于显示输入的值
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>SimpleConverterResult.jsp</title> </head> <body> <s:property value="username"/> </body> </html>
五,配置SimpleConverter-conversion.properties文件
username=tutorial.SimpleConverterConverter
六,配置struts.xml文件
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <include file="struts-default.xml"/> <action name="SimpleConverter" class="tutorial.SimpleConverter"> <result>/SimpleConverterResult.jsp</result> </action> </package> </struts>
全部文件配置好了以后,打开SimpleConverter.jsp,输入aa,提交。显示***aa---;转换器测试成功
总结:
1,SimpleConverter-conversion.properties文件的命名必须是Action类的名字+"-"+"conversion".如果不是就不会调用你自定义的转换器SimpleConverterConverter.java
2,SimpleConverter-conversion.properties文件必须放在和你的Action类同一个目录下。
3,SimpleConverter-conversion.properties里面的内容username=tutorial.SimpleConverter.java。
username为要进行自定义转换类型的字段。
4,转换器调用过程。1)提交SimpleConverter.jsp页面时.2)程序会找到struts.xml文件.3)调用里面的action类SimpleConverter.java.4)转到调用SimpleConverterConverter.java。5)在此调用SimpleConverter.java类里面的execute()方法。大家认真看输出就清楚了,特别注意我在输出***aa---里面加进了*,-就是为了说明问题。
PS,小弟弄了半天,心得体会啊
相关文章推荐
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)—Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师(Struts2中数据批量保存)[转别人的]
- 转换器(Converter)——Struts 2.0中的魔术师(Struts 2.0系列之五)
- 转换器(Converter)——Struts 2.0中的魔术师
- Struts ActionForm中自定义转换器Converter(简单易懂)
- 转换器(Converter)——Struts 2.0中的魔术师
- 转换器(Converter)——Struts 2.0中的魔术师
- Retrofit 2.0 自定义Converter补充篇
- Struts中的转换器:自定义转换器
- Struts自定义类型转换器之字符串与复合对象之间的转换
- 基于StrutsTypeConverter的数组属性的类型转换器
- Struts(二十):自定义类型转换器
- 自定义类型转换器之TypeConverter
- Struts 2自定义类型转换器