使用ServletActionContext类获取
详细代码:
/struts2_day02/WebContent/form2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/form2.action" method="post">
username:<input type="text" name="username"><br>
password:<input type="text" name="password"><br>
address:<input type="text" name="address"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
/struts2_day02/src/struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- struts2约束 start -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- struts2约束 end -->
<struts>
<package name="demo1" extends="struts-default" namespace="/">
<!-- 全局结果页面配置 -->
<global-results>
<result name="success">/hello.jsp</result>
</global-results>
<action name="book" class="com.hlg.action.BookAction">
<result name="success" type="redirectAction">orders</result>
</action>
<action name="orders" class="com.hlg.action.OrdersAction">
<!-- <result name="success">/hello.jsp</result> -->
</action>
</package>
<package name="from1action" extends="struts-default" namespace="/">
<action name="form1" class="com.hlg.form.Form1DemoAction"></action>
<action name="form2" class="com.hlg.form.Form2DemoAction">
</action>
</package>
</struts>
com.hlg.form.Form2DemoAction
package com.hlg.form;
import java.util.Arrays;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class Form2DemoAction extends ActionSupport {
public String execute(){
//第二种方式 使用ServleActionContext类获取
//1 使用ServletActionContext获取request对象
HttpServletRequest request = ServletActionContext.getRequest();
String username = request.getParameter("username");
String password = request.getParameter("password");
String address = request.getParameter("address");
System.out.println(username);
System.out.println(password);
System.out.println(address);
return NONE;
}
}
使用接口注入(了解)
1 让action实现接口,为了得到request对象 |
package com.hlg.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionSupport;
public class Form3DemoAction extends ActionSupport implements ServletRequestAware{
private HttpServletRequest request;
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public String execute(){
System.out.println("Form3DemoAction...");
String username = request.getParameter("username");
String password = request.getParameter("password");
String address = request.getParameter("address");
System.out.println(username);
System.out.println(password);
System.out.println(address);
return NONE;
}
}