1. 程式人生 > >Action獲取表單提交資料

Action獲取表單提交資料

1、使用ActionContext類

ActionContext context = ActionContext.getContext();
Map<String, Object> map = context.getParameters();
Set<String> keys = map.keySet();
for(String key:keys)
{
	Object[] obj = (Object[]) map.get(key);
	System.out.println(Arrays.toString(obj));	
}

2、使用ServletActionContext類

HttpServletRequest request =ServletActionContext.getRequest();
String username = request.getParameter("username");
String password = request.getParameter("password");
String address = request.getParameter("address");
System.out.println(username+password+address);

3、使用介面注入方式(實現ServletRequestAware介面)

public class Hello extends ActionSupport implements ServletRequestAware{
	private HttpServletRequest request;
	
	@Override
	public String execute() throws Exception {
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String address = request.getParameter("address");
		System.out.println(username+password+address);
		return NONE;
	}

	@Override
	public void setServletRequest(HttpServletRequest request) {
		this.request = request;
	}
	
}

ps:

//操作3個域物件
		//1、request域
		HttpServletRequest request = ServletActionContext.getRequest();
		request.setAttribute("requestName", "requestValue");
		//2、session域
		HttpSession session = request.getSession();
		session.setAttribute("sessionName", "sessionValue");
		//3、ServletContext域
		ServletContext context = ServletActionContext.getServletContext();
		context.setAttribute("contextName", "contextValue");