zoukankan      html  css  js  c++  java
  • Struts2之类型转换器

    我们都知道从jsp页面传到后台的都是String类型,后台类中类型很多(int,Object[],Date等),这个时候就需要转换.

    首先创建一个普通类继承ActionSupport,里面写一个execute()方法.

    1 public String execute() {
    2         System.out.println("username	"+stu.getUsername());
    3         System.out.println("password	"+stu.getPassword());
    4         System.out.println("birthday	"+stu.getBrithday());
    5         return "yeah";
    6     }

    先把实体类挂上:

     1 public class Student {
     2     private String username;
     3     private String password;
     4     private Date brithday;
     5     
     6     public Date getBrithday() {
     7         return brithday;
     8     }
     9 
    10     public void setBrithday(Date brithday) {
    11         this.brithday = brithday;
    12     }
    13     
    14     public String getUsername() {
    15         return username;
    16     }
    17     public void setUsername(String username) {
    18         this.username = username;
    19     }
    20     public String getPassword() {
    21         return password;
    22     }
    23     public void setPassword(String password) {
    24         this.password = password;
    25     }

    类的结构图:

    接下来写Struts2配置文件:

    <struts>
        <package name="test" namespace="/" extends="struts-default">
            <action name="Login" class="cn.jbit.dao.TheFirst">
                <result name="yeah">success.jsp</result>
                <result name="input">success.jsp</result>
                
        </package>
    </struts>

    自定义类型转化器:

    创建一个键值对文件:

    TheFirst-conversion.properties:

     全局类型自定义转换器:

    Struts2支持的日期格式是2016-3-19这种格式,如果要用2016/3/19就会报错,这时我们可以自己来定义转换器.

    还是创建一个键值对文件convert.properties:

    日期类型转换器:

    首先创建一个普通类继承DefaultTypeConverter:

     1 public class DateConversion extends DefaultTypeConverter {
     2     @Override
     3     public Object convertValue(Object value, Class toType) {
     4         System.out.println("自定义类型转换器");
     5           System.out.println(value);
     6           if (value instanceof String[]) {
     7              String[] temps=(String[])value;
     8              SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
     9             try {
    10                 return sdf.parse(temps[0]);
    11             } catch (ParseException e) {
    12                 e.printStackTrace();
    13             }
    14           }
    15           return new Date();
    16     }
    17 }

    接下来可以在控制台上看到:

    总结图:

     

  • 相关阅读:
    python2和3使用pip时的问题
    Python爬虫-爬取百度贴吧帖子
    Python爬虫-爬取糗事百科段子
    keras例子-matchnet
    win10-Anaconda2-Theano-cuda7.5-VS2013
    caffe-win10-cifar10另
    PHP——0126最初
    PHP——动态随机数
    PHP——投票
    PHP——内测:联系人管理
  • 原文地址:https://www.cnblogs.com/wcf6676/p/5295633.html
Copyright © 2011-2022 走看看