前端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> <h1>Struts2访问Servlet的PAI</h1> <h3>方式二:使用原生方式访问</h3> <form action="${pageContext.request.contextPath }/requestDemo2.action" method="post"> 姓名:<input type="text" name="name" /><br/> 密码:<input type="password" name="password"/><br/> <input type="submit" value="提交" > </form> </body> </html>
Action类:
package com.itheima.struts2.demo1; import java.util.Arrays; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; /** * 访问Setvlet方式2:原生方式(推荐) * */ public class RequestDemo2 extends ActionSupport { //一、接受数据 public String execute() throws Exception{ //直接获取request对象:ServletActionContext HttpServletRequest request = ServletActionContext.getRequest(); Map<String,String[]> map = request.getParameterMap(); for (String key : map.keySet()) { String[] values = map.get(key); System.out.println(key+" "+Arrays.toString(values)); } //向域对象保存数据,向request,session,application保存数据 request.setAttribute("reqName", "reqValue"); request.getSession().setAttribute("sessName", "sessValue"); ServletActionContext.getServletContext().setAttribute("appName", "appValue"); return SUCCESS; } }
配置文件:
<?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="demo1" extends="struts-default" namespace="/"> <action name="requestDemo2" class="com.itheima.struts2.demo1.RequestDemo2" method=""> <result name="success">/demo1/demo2.jsp</result> </action> </package> </struts>
成功跳转页面:
<%@ 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>显示数据</title> </head> <body> <h1>显示数据</h1> ${reqName } ${sessName } ${appName } </body> </html>