数组类型转换器实例
2016-11-01 15:00
169 查看
index.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>My JSP 'index.jsp' starting page</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>
<s:form action="myConverter" method="post">
<s:textfield name="tel" label="家庭电话(**-****)"></s:textfield>
<s:textfield name="tel" label="公司电话(**-****)"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>
success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ 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>My JSP 'success.jsp' starting page</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>
<s:property value="tel"/><br>
<s:iterator value="tel" id="t">
区号:<s:property value="#t.sectionNo"/>
号码:<s:property value="#t.telNo"/>
</s:iterator>
</body>
</html>
javaBean
package com.adam.test.userbean;
public class Tel {
private String sectionNo;
public String getSectionNo() {
return sectionNo;
}
public void setSectionNo(String sectionNo) {
this.sectionNo = sectionNo;
}
public String getTelNo() {
return telNo;
}
public void setTelNo(String telNo) {
this.telNo = telNo;
}
private String telNo;
}
action
package com.adam.test.action;
import com.adam.test.userbean.Tel;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
private Tel[] tel;
public Tel[] getTel() {
return tel;
}
public void setTel(Tel[] tel) {
this.tel = tel;
}
public String execute() throws Exception{
return "success";
}
}
转换器
package com.adam.test.converter;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter;
import com.adam.test.userbean.Birthday;
import com.adam.test.userbean.Tel;
public class MyTypeConverter extends StrutsTypeConverter{
public Object convertFromString(Map arg0,String[] arg1,Class arg2){
Tel[] tel=new Tel[arg1.length];
for(int i=0;i<arg1.length;i++){
Tel t=new Tel();
String[] str=arg1[i].split("-");
t.setSectionNo(str[0]);
t.setTelNo(str[1]);
tel[i]=t;
}
return tel;
}
public String convertToString(Map arg0,Object arg1){
Tel[] tel=(Tel[]) arg1;
String result="[";
for(int i=0;i<tel.length;i++){
result+="<"+tel[i].getSectionNo()+"-"+tel[i].getTelNo()+">";
}
result+="]";
return result;
}
}
注册类型转换器
tel=com.adam.test.converter.MyTypeConverter
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="myConverter" class="com.adam.test.action.LoginAction">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
<%@ 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>My JSP 'index.jsp' starting page</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>
<s:form action="myConverter" method="post">
<s:textfield name="tel" label="家庭电话(**-****)"></s:textfield>
<s:textfield name="tel" label="公司电话(**-****)"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>
success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ 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>My JSP 'success.jsp' starting page</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>
<s:property value="tel"/><br>
<s:iterator value="tel" id="t">
区号:<s:property value="#t.sectionNo"/>
号码:<s:property value="#t.telNo"/>
</s:iterator>
</body>
</html>
javaBean
package com.adam.test.userbean;
public class Tel {
private String sectionNo;
public String getSectionNo() {
return sectionNo;
}
public void setSectionNo(String sectionNo) {
this.sectionNo = sectionNo;
}
public String getTelNo() {
return telNo;
}
public void setTelNo(String telNo) {
this.telNo = telNo;
}
private String telNo;
}
action
package com.adam.test.action;
import com.adam.test.userbean.Tel;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
private Tel[] tel;
public Tel[] getTel() {
return tel;
}
public void setTel(Tel[] tel) {
this.tel = tel;
}
public String execute() throws Exception{
return "success";
}
}
转换器
package com.adam.test.converter;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter;
import com.adam.test.userbean.Birthday;
import com.adam.test.userbean.Tel;
public class MyTypeConverter extends StrutsTypeConverter{
public Object convertFromString(Map arg0,String[] arg1,Class arg2){
Tel[] tel=new Tel[arg1.length];
for(int i=0;i<arg1.length;i++){
Tel t=new Tel();
String[] str=arg1[i].split("-");
t.setSectionNo(str[0]);
t.setTelNo(str[1]);
tel[i]=t;
}
return tel;
}
public String convertToString(Map arg0,Object arg1){
Tel[] tel=(Tel[]) arg1;
String result="[";
for(int i=0;i<tel.length;i++){
result+="<"+tel[i].getSectionNo()+"-"+tel[i].getTelNo()+">";
}
result+="]";
return result;
}
}
注册类型转换器
tel=com.adam.test.converter.MyTypeConverter
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="myConverter" class="com.adam.test.action.LoginAction">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
相关文章推荐
- 数组属性的类型转换器
- XAML实例教程系列 - 类型转换器(Type Converter) 推荐
- 自定义类型转换器实例---生日输入输出
- springMVC4之强大类型转换器实例解析
- Spring MVC自定义日期类型转换器实例详解
- Struts2的自定义类型转换器实例
- springMVC4(10)强大类型转换器实例解析
- 如何根据数组类型名称创建数组实例?
- springMVC前台传数组类型,后台用list类型接收实例代码
- XAML实例教程系列 - 类型转换器(Type Converter)
- XAML实例教程系列 - 类型转换器(Type Converter) 七
- XAML实例教程系列 - 类型转换器(Type Converter)
- 通过一个实例重新认识引用类型,值类型,数组,堆栈,ref
- JNA类型映射实例__结构体中包含字符串数组
- XAML实例教程系列 - 类型转换器(Type Converter)
- 数组与Object的关系及其反射类型,数组反射应用实例,通过Array类实现数组的反射
- 排错“未能封送类型,因为嵌入数组实例的长度与布局中声明的长度不匹配”
- JS返回只包含数字类型的数组实例分析
- 【Struts2框架】第七节类型转换-类型转换原理和自定义类型转换器实例
- 对象类型转换为数组类型实例