action獲取表單提交的數據主要的三種方式
(1)使用 actionContext類
(2) 使用ServletActionContext類
(3)使用接口注入的方式
一、使用actionContext類
package com.tui;
import java.util.Arrays;
import java.util.Map;
import java.util.Set;
import org.apache.struts2.dispatcher.Parameter;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class Form1DemoAction extends ActionSupport {
@Override
public String execute() throws Exception {
// TODO 自動生成的方法存根
ActionContext actionContext= ActionContext.getContext();
Map<String, Parameter>map= actionContext.getParameters();
Set<String>keys=map.keySet();
for(String key:keys)
{
Parameter objects=map.get(key);
System.out.println( objects.getValue());
}
return NONE;
}
}
二、使用ServletActionContext類
package com.tui;
import java.util.Arrays;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.dispatcher.Parameter;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class Form1DemoAction2 extends ActionSupport {
@Override
public String execute() throws Exception {
// TODO 自動生成的方法存根
HttpServletRequest httpServletRequest= ServletActionContext.getRequest();
String username=httpServletRequest.getParameter("uname");
String upassword=httpServletRequest.getParameter("upassword");
String uaddress=httpServletRequest.getParameter("uaddress");
System.out.println(username+":"+upassword+":"+uaddress);
return NONE;
}
}
三、實現ServletRequestAware接口
package com.tui;
import java.util.Arrays;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.dispatcher.Parameter;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class Form1DemoAction3 extends ActionSupport implements ServletRequestAware {
private HttpServletRequest request;
@Override
public void setServletRequest(HttpServletRequest request) {
// TODO 自動生成的方法存根
this.request=request;
}
@Override
public String execute() throws Exception {
// TODO 自動生成的方法存根
String username=request.getParameter("uname");
String userpassword=request.getParameter("upassword");
String useraddress=request.getParameter("uaddress");
System.out.println(username+":" +userpassword+":"+useraddress);
return NONE;
}
}
struts2.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="default" namespace="/" extends="struts-default">
<action name="form1" class="com.tui.Form1DemoAction">
</action>
<action name="form2" class="com.tui.Form1DemoAction2">
</action>
<action name="form3" class="com.tui.Form1DemoAction3">
</action>
</package>
</struts>
實現結果: