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 }

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

    总结图:

     

  • 相关阅读:
    SVN自动更新测试服务器工作副本(C#写winform程序实现)
    两台服务器上SQL Server数据库数据互操作示例
    ASP.NET根据URL生成网页缩略图示例程序(C#语言)
    Flutter Widget API
    BPM、BPMN、BPMN2.0概念介绍
    H5多图上传调研
    lIUNX如何加载U盘,光盘
    如何解决exchange2003被中继的问题?(网上转载)
    window无法安装服务
    如何在WORD里面插入不同的页眉和页脚
  • 原文地址:https://www.cnblogs.com/wcf6676/p/5295633.html
Copyright © 2011-2022 走看看