Srtuts2学习笔记--批量类型转换

来源:互联网 发布:淘宝网店如何运营 编辑:程序博客网 时间:2024/06/05 02:14

第一步: javabean

 

package com.wenj.bean;

 

public class User {

private String username;

private String password;

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setAge(String password) {

this.password password;

}

}

 

 

第二步: Action类 Action配置

 

Action

package com.wenj.struts;

 

import java.util.List;

 

import com.opensymphony.xwork2.ActionSupport;

import com.wenj.bean.User;

 

public class UsersAction extends ActionSupport {

private List<User> users

 

@Override

public String execute() throws Exception {

return SUCCESS;

}

 

public List<User> getUsers() {

return users;

}

 

public void setUsers(List<User> users) {

this.users = users;

}

 

}

 

Action配置

   在struts.xml添加如下代码:

 

<action name="usersAction" class="com.wenj.struts.UsersAction">

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

</action>

 

第三步: Converter类 Converter配置

 

Converter

 

package com.wenj.converter;

 

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import java.util.StringTokenizer;

 

import ognl.DefaultTypeConverter;

 

import com.wenj.bean.User;

 

public class UsersConverter extends DefaultTypeConverter {

 

@Override

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

if(toType == List.class){

List<User> users = new ArrayList<User>();

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

for(String str: strs){

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

String username = strToken.nextToken();

String age = strToken.nextToken();

User user = new User();

user.setUsername(username);

user.setAge(age);

 

users.add(user);

}

return users;

}else if(toType == String.class){

List<User> users = (ArrayList<User>)value;

String str = "";

for(User user: users){

str+=("username: " + user.getUsername() + " age: " + user.getAge());

}

return str;

}

return null;

}

 

}

 

Converter配置

Action当前目录下新建一个名为UsersAction-conversion.properties配置文件

并在文件中添加如下代码:

users=com.wenj.converter.UsersConverter

 

第四步用户登入接口 

 

1 moreiusernfo.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="usersAction.action">

   user0info: <input type="text" name="users"/> <br>

   user1info: <input type="text" name="users"/> <br>

   user2info: <input type="text" name="users"/> <br>

   user3info: <input type="text" name="users"/> <br>

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

   </form>

   

  </body>

</html>

 

2 moreconvertresult.jsp

 

<%@page import="javax.swing.text.html.HTML.Tag"%>

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

<!-- 添加Struts标签库 -->

<%@ taglib prefix="s" uri="/struts-tags"%>

<%

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>Convertresult.jsp</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>

    <s:property value="users"/><br>

  </body>

</html>

 

最后启动tomcat,在浏览器中键入:

http://localhost:8080/struts2/moreuserinfo.jsp

即可进行访问

0 0
原创粉丝点击