Struts2类型转换器配置

         表现层或说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;
        }
    }

}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值