一覧、削除のアクションクラス

更新・追加のアクションと一覧系ではアクションを分けた。その一覧側のアクション
※Pagerクラスは殆ど何もしないUtilityクラス

tutorial.UserListAction.java

package tutorial;

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

import jp.co.hershe.struts2.util.ParamUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.ParameterAware;

import com.opensymphony.xwork2.ActionSupport;

/**
 * Struts2 アクションクラス
 * 
 * @author mikuni
 *
 */
public class UserListAction extends ActionSupport implements ParameterAware {
	private static final long serialVersionUID = -8672168139910932035L;
	static Log log = LogFactory.getLog(UserListAction.class);
	ParamUtil u;
	UserDAO dao;
	List<User> list = null;
	Pager pager = null;
	
	// Inject by spring
	public UserListAction(UserDAO dao) {
		this.dao = dao;
	}
	
	// ParameterAware
	public void setParameters(Map p) {
		u = new ParamUtil(p);
	}

	public String doList() {
		int page = u.getInt("page", 0);
		pager = new Pager( page, dao.userCount(), 5 );
		list = dao.list(pager);
		return SUCCESS;
	}

	public String doDelPrev() {
		String [] ids = u.gets(":del");
		list = new LinkedList<User>();
		for ( String a : ids ) {
			list.add( dao.get(a));
		}
		return SUCCESS;
	}
	public String doDelDo() {
		String [] ids = u.gets(":del");
		list = new LinkedList<User>();
		for ( String a : ids ) {
			dao.delete(a);
		}
		return SUCCESS;
	}

	// Stack
	public List<User> getUsers() {
		return list;
	}
	public void setUsers( List<User> list ) {
		this.list = list;
	}
	public void setPager( Pager page ) {
		this.pager = page;
	}
	public Pager getPager() {
		return pager;
	}
}

struts.xml は次のとおり

        <action name="user_list" class="UserListAction" method="doList">
            <result>/list.jsp</result>
        </action>
        <action name="user_delprev" class="UserListAction" method="doDelPrev">
            <result>/dellist.jsp</result>
        </action>
        <action name="user_deldo" class="UserListAction" method="doDelDo">
            <result type="redirect-action">user_list</result>
        </action>