`
斌强-朱
  • 浏览: 49079 次
社区版块
存档分类
最新评论

Struts类型转换

 
阅读更多


User.java

package org.zbq.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 setPassword(String password) {
		this.password = password;
	}
	
}

UserAction2.java

package org.zbq.struts2;

import java.util.List;

import org.zbq.bean.User;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction2 extends ActionSupport{
	private List<User> user;
	
	
	public List<User> getUser() {
		return user;
	}

	public void setUser(List<User> user) {
		this.user = user;
	}


	@Override
	public String execute() throws Exception {
		return SUCCESS;
	}
}

UserConverter3.java

package org.zbq.converter;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;

import org.apache.struts2.util.StrutsTypeConverter;
import org.zbq.bean.User;

public class UserConverter3 extends StrutsTypeConverter {

	@SuppressWarnings("unchecked")
	@Override
	public Object convertFromString(Map context, String[] values, Class toClass) {
		List<User> list = new ArrayList<User>();
		
		for(String v : values){
			StringTokenizer st = new StringTokenizer(v, ";");
			User user = new User();
			
			user.setUsername(st.nextToken());
			user.setPassword(st.nextToken());
			list.add(user);
		}
		
		return list;
	}

	@SuppressWarnings("unchecked")
	@Override
	public String convertToString(Map context, Object o) {
		List<User> list = (List<User>)o;
		StringBuffer buff = new StringBuffer();
		
		for(User user : list){
			String username = user.getUsername();
			String password = user.getPassword();
			
			buff.append("username:").append(username).append("\tpassword:").append(password).append("\n");
		}
		
		return buff.toString();
	}

}

UserAction2-conversion.properties

user=org.zbq.converter.UserConverter3

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="org.zbq.struts2.UserAction">
			<result name="success">/output.jsp</result>
		</action>
		
		<action name="UserAction2" class="org.zbq.struts2.UserAction2">
			<result name="success">/output.jsp</result>
		</action>
	</package>
</struts>





input.jsp

  	<form action="UserAction2">
		user info1: <input type="text" name="user"><br/>
		user info2: <input type="text" name="user"><br/>
		user info3: <input type="text" name="user"><br/>
		user info4: <input type="text" name="user"><br/>
  		<input type="submit" value="submit">
  	</form>


output.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'output.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/css" href="styles.css">
	-->

  </head>
  
  <body>
	<s:property value="user" />
	
  </body>
</html>






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics