Struts2和JSP之間,List對象的傳遞


1. 需要傳遞的POJO對象.

/**
 * @author cheney
 * 
 * @date Jan 7, 2013
 */
public class User {

    private String id;
    private String name;
    private String password;

    /**
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * @param id
     *            the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name
     *            the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the password
     */
    public String getPassword() {
        return password;
    }

    /**
     * @param password
     *            the password to set
     */
    public void setPassword(String password) {
        this.password = password;
    }

}

2. Action中的初始化和對jsp頁面提交對象的接受

import java.util.LinkedList;
import java.util.List;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;

import com.opensymphony.xwork2.conversion.annotations.ConversionRule;
import com.opensymphony.xwork2.conversion.annotations.TypeConversion;
import com.tydic.base.BaseAction;

/**
 * @author cheney
 * 
 * @date Aug 15, 2012
 */
public class UserAction extends BaseAction {
    private List<User> mapList;
    

    /**
     * 
     */
    private static final long serialVersionUID = 3551905855359325103L;

    @Action(value = "/service/flowcard/user/init", results = { @Result(name = SUCCESS, location = "/jsp/flowcard/u_index.jsp") })
    public String init() throws Exception {
        System.out.println("init.................");
        mapList = new LinkedList<User>();

        User user1 = new User();
        user1.setId("1");
        user1.setName("chen");
        user1.setPassword("aa");

        User user2 = new User();
        user2.setId("2");
        user2.setName("fa");
        user2.setPassword("11");

        User user3 = new User();
        user3.setId("3");
        user3.setName("gaaa");
        user3.setPassword("222");

        User user4 = new User();
        user4.setId("4");
        user4.setName("mms");
        user4.setPassword("w2w");

        mapList.add(user1);
        mapList.add(user2);
        mapList.add(user3);
        mapList.add(user4);

        return SUCCESS;
    }

    @Action(value = "/service/flowcard/user/register", results = { @Result(name = SUCCESS, location = "/jsp/flowcard/u_succ.jsp") })
    public String register() throws Exception {
        System.out.println("register.................");

        // System.out.println(mapList.size());

        for (int i = 0; i < mapList.size(); i++) {
            System.out.println(mapList.get(i).getId());
            System.out.println(mapList.get(i).getName());
            System.out.println(mapList.get(i).getPassword());

            System.out.println("=============================");
        }

        return SUCCESS;
    }

    /**
     * @return the mapList
     */
    public List<User> getMapList() {
        return mapList;
    }

    /**
     * @param mapList
     *            the mapList to set
     */
    @TypeConversion(rule = ConversionRule.COLLECTION, converter = "com.tydic.flowcard.action.User")
    public void setMapList(List<User> mapList) {
        this.mapList = mapList;
    }

}

 

3. JSP頁面的封裝

<body>
		<div align="center">
		
			<form id="formId" action="/service/flowcard/user/register.action" method="post">
			
				<c:forEach var="ml" items="${mapList}" varStatus="status">
					<input type="hidden" value="${ml.id}" name="mapList[${status.index}].id" />
					<input type="hidden" value="${ml.name}" name="mapList[${status.index}].name" />
					<input type="hidden" value="${ml.password}" name="mapList[${status.index}].password" />
				</c:forEach>
				
				<input type="submit" value="SUBMIT" />
			</form>
			
		</div>
	</body>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM