Struts2类型转换器配置
2008-01-05 15:49
405 查看
表现层或说jsp页面数据一般来讲是String类型,有时我们需要把它转换成我们需要的类型。struts以前,是用一个javaBean来封装数据,然后写一个转换器。struts2提供了一个DefaulatTypeConverter的类,来进行类型转换。
需要说明的是,在配置和转换类的重写过程中,必须注意以下几点:
1、表单里面元素的名称要和注册器*-conversion.properties里面的属性一致。举个例子:表单如下:
<s:form action="login" method="post">
<s:textfield name="username" label = "用户名"/>
<s:textfield name="password" label = "密 码"key="pass"/>
<s:textfield name="name" label = "姓 名" key="name"/>
<s:textfield name="classes" label = "班 级"key="classes"/>
<s:textfield name="phone" label = "电 话"key="phone"/>
<s:textfield name="email" label = "Email"key="email"/>
<s:submit value = "注册"key="regist"/>
<s:reset value = "重填"/>
</s:form>
如要对username进行转换,那么注册器*-conversion.properties里面必须如下配置:
username=yanggui.UserConverter
其中yangguij是包名,UserConverter是转换器,
还有一点要注意,username的一致其目的是为了在Action类里面对其进行操作。在struts2中,将有栏截器把参数截下,以供Action类用,因此在Action中,定义一个要和usrname参数相关联的类,除其类型一致外,从栏截器中获得参数的方法是getUsername(),且必须为这个才行。
如下action处理上述表单的usename用代码:
package yang.stutent;
import yang.model.User;
import com.opensymphony.xwork2.Action;
public class RegistAction implements Action{
private User user;
private String tip;
public void setUser(User user)
{
this.user = user;
}
public void setTip(String tip)
{
this.tip = tip;
}
public User getUser()
{
return (this.user);
}
public String getTip()
{
return (this.tip);
}
public String execute() throws Exception
{
if (getUser().getUsername().equals("yang")
&& getUser().getPassword().equals("123") )
{
setTip("转换成功");
return SUCCESS;
}
else
{
setTip("转换失败");
return ERROR;
}
}
}
需要说明的是,在配置和转换类的重写过程中,必须注意以下几点:
1、表单里面元素的名称要和注册器*-conversion.properties里面的属性一致。举个例子:表单如下:
<s:form action="login" method="post">
<s:textfield name="username" label = "用户名"/>
<s:textfield name="password" label = "密 码"key="pass"/>
<s:textfield name="name" label = "姓 名" key="name"/>
<s:textfield name="classes" label = "班 级"key="classes"/>
<s:textfield name="phone" label = "电 话"key="phone"/>
<s:textfield name="email" label = "Email"key="email"/>
<s:submit value = "注册"key="regist"/>
<s:reset value = "重填"/>
</s:form>
如要对username进行转换,那么注册器*-conversion.properties里面必须如下配置:
username=yanggui.UserConverter
其中yangguij是包名,UserConverter是转换器,
还有一点要注意,username的一致其目的是为了在Action类里面对其进行操作。在struts2中,将有栏截器把参数截下,以供Action类用,因此在Action中,定义一个要和usrname参数相关联的类,除其类型一致外,从栏截器中获得参数的方法是getUsername(),且必须为这个才行。
如下action处理上述表单的usename用代码:
package yang.stutent;
import yang.model.User;
import com.opensymphony.xwork2.Action;
public class RegistAction implements Action{
private User user;
private String tip;
public void setUser(User user)
{
this.user = user;
}
public void setTip(String tip)
{
this.tip = tip;
}
public User getUser()
{
return (this.user);
}
public String getTip()
{
return (this.tip);
}
public String execute() throws Exception
{
if (getUser().getUsername().equals("yang")
&& getUser().getPassword().equals("123") )
{
setTip("转换成功");
return SUCCESS;
}
else
{
setTip("转换失败");
return ERROR;
}
}
}
相关文章推荐
- struts2中配置全局日期类型转换器
- 从源代码剖析Struts2中用户自定义配置转换器的两种方式——基于字段的配置转换器和基于类型的配置转换器(解决了实际系统中,因没有区分这两种工作方式的生命周期而引起的异常错误问题)
- Struts2自定义类型转换器
- struts2 自定义全局类型转换器
- Struts2使用22 -- 注解配置4 -- 转换器注解
- [原创]java WEB学习笔记67:Struts2 学习之路-- 类型转换概述, 类型转换错误修改,如何自定义类型转换器
- 一个Struts2的struts.xml中配置JSON类型RESULT的例子
- Struts2_局部类型转换器
- spring boot 配置全局日期类型转换器
- struts2 action 中配置result 的结果类型
- Java乔晓松-Struts2中通配符、常量、自定义类型转换器以及接受请求参数处理
- Struts2内建类型转换器
- struts2 中的 result 返回类型是 json 的配置问题
- Struts2(批量类型转换器struts2.3.4)
- struts2自定义类型转换器
- 4.1.6: Struts2的类型转换---基于Struts2的自定义类型转换器
- struts2 --result配置的各种视图转发类型
- struts2自定义类型转换器
- MongoDB进阶(十)去除Spring Data生成的_class字段并同时配置类型转换器
- struts2 自定义类型转换器