Struts2学习笔记--默认类型转换器(DefaultTypeConverter)使用

第一步: javabean

//User.java

package com.wenj.bean;

 

public class User {

private String username;

private String password;

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.usernameusername;

}

public String getPassword() {

return password;

}

public void setAge(String password) {

this.passwordpassword;

}

}


第二步:Action类 配置Action

1  UserAction.java

//UserAction.java

 

package com.wenj.struts;

 

 

import com.opensymphony.xwork2.ActionSupport;

import com.wenj.bean.User;

 

public class UserAction extends ActionSupport {

private User user;

 

public User getUser() {

return user;

}

 

public void setUser(User user) {

this.user = user;

}

 

@Override

public String execute() throws Exception {

System.out.println("username: " + user.getUsername());

System.out.println("password: " + user.getPassword());

return SUCCESS;

}

}


配置Action

Struts.xml代码如下:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

 

<struts>

<package name="struts2" extends="struts-default">

<action name="userAction" class="com.wenj.struts.UserAction">

<result name="success">convertresult.jsp</result>

</action>

</package>

 

</struts>

 

第三步:Converter类 配置converter

1.UserConverter.java

 

package com.wenj.converter;

 

import java.util.Map;

import java.util.StringTokenizer;

 

import com.wenj.bean.User;

 

 

import ognl.DefaultTypeConverter;

 

public class UserConverter extends DefaultTypeConverter {

 

@Override

public Object convertValue(Map context, Object value, Class toType) {

if(toType == User.class){

String[] strArr = (String[]) value;

String str = strArr[0];

StringTokenizer strToken = new StringTokenizer(str, ";");

String username = strToken.nextToken();

String password = strToken.nextToken();

User user = new User();

 

user.setUsername(username);

user.setPassword(password);

return user;

}

return null;

}

 

}

 

在这个转换器中,继承ognl中的DefaultTypeConverter,重写convertValue()方法来实现转换的逻辑的

配置Converter

Action当前的目录下创建形如:

xxx-conversion.properties

的配置文件来对converter进行配置,xxxAction类名

 

创建如下属性文件:

UserAction-conversion.properties

 

属性文件配置格式为

name=value

 

配置代码如下:

user=com.wenj.converter.UserConverter

 

其中nameAction中需要进行类型转换的属性对象,在此中为user

    valueconverter

第四步:用户登入接口

1 userinfo.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    

    <title>Login Page</title>

    

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">    

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/csshref="styles.css">

-->

 

  </head>

  

  <body>

   

   <form action="userAction.action">

请输入用户名和密码,;隔开

   userinfo<input type="text" name="user"/> <br>

   <input type="submit" value="提交" />

   </form>

   

  </body>

</html>

 

2 convertresult.jsp

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    

    <title>My JSP 'convertresult.jsp' starting page</title>

    

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">    

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/csshref="styles.css">

-->

 

  </head>

  

  <body>

    Convert Success <br>

  </body>

</html>

 

 

就此简单converter就实现了

Ps: 新手粗劣学习笔记,如有错误请在评论留言,我会尽快更正自己的错误的

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值