zoukankan      html  css  js  c++  java
  • Struts2-学习笔记系列(10)-自定义类型转换

    注意name=user和对应action中的实例名称一致

    这些代码是写在HTML文件中的

    1 <s:form action="login">
    2     <s:textfield name="user" label="用户"/>
    3     <tr>
    4         <td colspan="2"><s:submit value="转换" theme="simple"/>
    5             <s:reset value="重填" theme="simple"/></td>
    6     </tr>
    7 </s:form>

    创建类型转换器

     1 public class UserConvert extends DefaultTypeConverter {
     2 
     3     @Override
     4 
     5     public Object convertValue(Map context, Object value, Class toType) {
     6 
     7         if (toType == User.class) {
     8 
     9             String[] para = (String[]) value;
    10 
    11             User user = new User();
    12 
    13             String[] vals = para[0].split(",");
    14 
    15             user.setName(vals[0]);
    16 
    17             user.setPwd(vals[1]);
    18 
    19             return user;
    20 
    21         } else if (toType == String.class) {
    22 
    23             User user = (User) value;
    24 
    25             return "name" + user.getName() + ",pwd" + user.getPwd();
    26 
    27         }
    28 
    29         return null;
    30 
    31     }
    32 
    33 }

    注册类型转换器

    局部转换器

    创建文件:

    LoginAction-conversion.properties  和action在一个目录

    制度成员转换映射:

    user=convert.UserConvert

    全局转换器:

    xwork-conversion.properties  和struts一个层级目录。对所有action都应用此类型转换器

    domain.User=convert.UserConvert

  • 相关阅读:
    使用 GitHub, Jekyll 打造自己的免费独立博客
    如何解决数据科学计数法在数据库中的显示
    RDF
    C# 在 4.0 以后一共有3种创建线程的方式
    C#多线程
    1、框架概述
    3、IDEA 中使用 Maven
    2、Maven 核心概念
    1、Maven 概述
    JDK动态代理
  • 原文地址:https://www.cnblogs.com/zijiyanxi/p/5559712.html
Copyright © 2011-2022 走看看