您的位置:首页 > 编程语言 > Java开发

20171016_chr_strutsConverter 类型转换

2017-12-14 13:39 197 查看

类型转换

/20171016_chr_strutsConverter/src/nuc/sw/action/registAction.java

package nuc.sw.action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

import nuc.sw.vo.User;

public class registAction extends ActionSupport implements ModelDriven<User> {
private User u=new User();
@Override
public User getModel() {
// TODO Auto-generated method stub
return u;
}
//注册逻辑
public String registMethod() {
ActionContext.getContext().getSession().put("user", u);
return "registOK";
}
}


/20171016_chr_strutsConverter/src/nuc/sw/vo/Address.java

package nuc.sw.vo;

public class Address {
private String province;
private String city;
private String area;
private String street;
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
//全参构造方法
/*public Address() {
super();
this.province = province;
this.city = city;
this.area = area;
this.street = street;
}*/

}


/20171016_chr_strutsConverter/src/nuc/sw/vo/AddressConverter.java

package nuc.sw.vo;

import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;

public class AddressConverter extends StrutsTypeConverter {

@Override
public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
// TODO Auto-generated method stub
System.out.println("String--->Address");
String str=arg1[0];
String[] AddressNos=str.split(",");
Address address=new Address();
address.setProvince(AddressNos[0]);
address.setCity(AddressNos[1]);
address.setArea(AddressNos[2]);
address.setStreet(AddressNos[3]);
return address;
}

@Override
public String convertToString(Map arg0, Object arg1) {
// TODO Auto-generated method stub
System.out.println("Address--->String");
Address address=(Address)arg1;
return address.getProvince()+","+address.getCity()+","+address.getArea()+","+address.getStreet();
}

}


/20171016_chr_strutsConverter/src/nuc/sw/vo/Tel.java

package nuc.sw.vo;

public class Tel {
private String sectionNo;
private String telNo;
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;
}

}


/20171016_chr_strutsConverter/src/nuc/sw/vo/TelConverter.java

package nuc.sw.vo;

import java.util.Map;

import org.apache.struts2.util.StrutsTypeConverter;

public class TelConverter extends StrutsTypeConverter {

@Override
public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
// TODO Auto-generated method stub
System.out.println("String--->Tel");
String str=arg1[0];
String[] telNos=str.split("-");
Tel tel=new Tel();
tel.setSectionNo(telNos[0]);
tel.setTelNo(telNos[1]);
return tel;
}

@Override
public String convertToString(Map arg0, Object arg1) {
// TODO Auto-generated method stub
System.out.println("Tel--->String");
Tel tel=(Tel)arg1;
return tel.getSectionNo()+"-"+tel.getTelNo();
}

}


/20171016_chr_strutsConverter/src/nuc/sw/vo/User.java

package nuc.sw.vo;

import java.util.Date;

public class User {
private String username;
private Tel tel;
private Address address;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Tel getTel() {
return tel;
}
public void setTel(Tel tel) {
this.tel = tel;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}

}


/20171016_chr_strutsConverter/src/nuc/sw/vo/User-conversion.properties

tel=nuc.sw.vo.TelConverter
address=nuc.sw.vo.AddressConverter


/20171016_chr_strutsConverter/src/struts.xml

<struts>
<!-- Add packages here -->
<package name="regist" namespace="/" extends="struts-default">
<action name="registAction" class="nuc.sw.action.registAction" method="registMethod">
<result name="registOK">
/success.jsp
</result>
<result name="input">
/register.jsp
</result>
</action>
</package>
</struts>


/20171016_chr_strutsConverter/WebContent/register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-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=UTF-8">
<title>注册页</title>
<sx:head/>
</head>
<body>
<s:form action="registAction" method="post">
<s:textfield label="用户名" name="username" ></s:textfield>
<s:textfield label="固话" name="tel" ></s:textfield>
<s:textfield label="省" name="address" ></s:textfield>
<s:textfield label="市" name="address" ></s:textfield>
<s:textfield label="区" name="address" ></s:textfield>
<s:textfield label="街道" name="address" ></s:textfield>
<s:submit value="注册" ></s:submit>
</s:form>
</body>
</html>


/20171016_chr_strutsConverter/WebContent/success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>欢迎页</title>
</head>
<body>
用户${sessionScope.user.username}的电话号码为:<br>
${sessionScope.user.tel}<br>
详细地址是:<br>
${sessionScope.user.address}<br>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: