七 Struts2訪問Servlet的API方式二:原生方式
阿新 • • 發佈:2018-11-09
前端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>