第一步: 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/css" href="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/css" href="styles.css">
-->
</head>
<body>
<s:property value="users"/><br>
</body>
</html>
最后启动tomcat,在浏览器中键入:
http://localhost:8080/struts2/moreuserinfo.jsp
即可进行访问