ONLG表达式中做地址转换器
来源:互联网 发布:php用iis和apache 编辑:程序博客网 时间:2024/05/17 08:23
1.地址类Address.java(其中需要重写toString()方法)
package test.model;
//地址类
public class Address {
private String province;
private String city;
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 getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
//重新toString方法
public String toString(){
return province + "-" + city + "-" + street ;
}
}
2.地址类型转换器类AddressConverter.java
package test.ognl;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter;
import test.model.Address;
//地址类型转换器,需要继承StrutsTypeConverter类,重写其中的convertFromString方法和convertToString方法
public class AddressConverter extends {
StrutsTypeConverter
@Override
//将字符串转换成地址对象
public Object convertFromString(Map context, String[] values, Class toClass) {
//首先做健壮性处理
if(values != null && values.length > 0 ){
//取字符串数组中的第0个元素
String str = values[0];
//将字符串拆开,用split方法,返回值为数据
String[] arr = str.split("-");
if(arr != null && arr.length > 2){
Address a = new Address();
a.setProvince(arr[0]);
a.setCity(arr[1]);
a.setStreet(arr[2]);
return a;
}
}
return null;
}
@Override
//将地址对象转换成字符串信息
public String convertToString(Map context, Object o) {
//判断o是否为地址对象,用instanceof方法
if(o instanceof Address){
return o.toString();
}
return null;
}
}
3. 在局部配置文件OgnlAction.properties中需要做如下配置
#comAddress配置地址转换器
comAddress=test.ognl.AddressConverter
也可以定义全局配置文件xwork.properties(必须放在classpath目录下,即src的根目录下)
#配置全局类型转换器,文件名称命名格式为xwork-conversion.properties
#配置类的转换器格式:完整类名=转换器的完整类名
test.model.Address=test.ognl.AddressConverter
4.在OgnlAction.java这样写:
package test.ognl;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import test.model.Address;
import com.opensymphony.xwork2.ActionSupport;
//Ognl action
public class OgnlAction extends ActionSupport{
private static final long serialVersionUID = -4309645221892241670L;
//公司地址
private Address comAddress;
public Address getComAddress() {
return comAddress;
}
public void setComAddress(Address comAddress) {
this.comAddress = comAddress;
}
public String reg(){
return "success";
}
public String toRegView(){
return "regView";
}
}
5.在视图显示层加上显示<s:textfield name="comAddress" label="comAddress"/>
package test.model;
//地址类
public class Address {
private String province;
private String city;
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 getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
//重新toString方法
public String toString(){
return province + "-" + city + "-" + street ;
}
}
2.地址类型转换器类AddressConverter.java
package test.ognl;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter;
import test.model.Address;
//地址类型转换器,需要继承StrutsTypeConverter类,重写其中的convertFromString方法和convertToString方法
public class AddressConverter extends {
StrutsTypeConverter
@Override
//将字符串转换成地址对象
public Object convertFromString(Map context, String[] values, Class toClass) {
//首先做健壮性处理
if(values != null && values.length > 0 ){
//取字符串数组中的第0个元素
String str = values[0];
//将字符串拆开,用split方法,返回值为数据
String[] arr = str.split("-");
if(arr != null && arr.length > 2){
Address a = new Address();
a.setProvince(arr[0]);
a.setCity(arr[1]);
a.setStreet(arr[2]);
return a;
}
}
return null;
}
@Override
//将地址对象转换成字符串信息
public String convertToString(Map context, Object o) {
//判断o是否为地址对象,用instanceof方法
if(o instanceof Address){
return o.toString();
}
return null;
}
}
3. 在局部配置文件OgnlAction.properties中需要做如下配置
#comAddress配置地址转换器
comAddress=test.ognl.AddressConverter
也可以定义全局配置文件xwork.properties(必须放在classpath目录下,即src的根目录下)
#配置全局类型转换器,文件名称命名格式为xwork-conversion.properties
#配置类的转换器格式:完整类名=转换器的完整类名
test.model.Address=test.ognl.AddressConverter
4.在OgnlAction.java这样写:
package test.ognl;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import test.model.Address;
import com.opensymphony.xwork2.ActionSupport;
//Ognl action
public class OgnlAction extends ActionSupport{
private static final long serialVersionUID = -4309645221892241670L;
//公司地址
private Address comAddress;
public Address getComAddress() {
return comAddress;
}
public void setComAddress(Address comAddress) {
this.comAddress = comAddress;
}
public String reg(){
return "success";
}
public String toRegView(){
return "regView";
}
}
5.在视图显示层加上显示<s:textfield name="comAddress" label="comAddress"/>
0 0
- ONLG表达式中做地址转换器
- 下载地址转换器
- 迅雷,快车,旋风地址转换器
- struts2中转换器使用
- struts2中转换器使用
- vb做的大小写字母转换器
- 做了一个中文URL转换器
- 获取html中第一个图片的地址做缩略图
- Strut中转换器的使用
- Strut中转换器的使用
- Struts2中自定义类型转换器
- struts2中自定义类型转换器
- 转换器
- 转换器
- 网页中整个链接地址的正则表达式
- 巧用正则表达式获取新闻中图片地址
- 用JS正则表达式取网页中图片地址
- 正则表达式提取HTML中IMG标签的SRC地址
- android中图库中选择视频
- 64 鸡兔同笼
- 坑爹的SetCinematicMode--如何屏蔽用户输入的移动指令
- 并查集
- C++ Class Size (C++ 类大小)
- ONLG表达式中做地址转换器
- 已命名的变量
- 分布式搜索elasticsearch配置文件详解
- COM原理(一)
- 消除字节对齐
- 解决DB之间且不同tablespace之间的数据导出导入操作(expdp和impdp)
- 结构体中定义函数指针
- Android自定义TitleBar 自定义标题栏 并进行事件处理
- IPSEC.SECRETS(5) - IKE/IPsec认证所使用到的密钥信息