1. 程式人生 > >七 Struts2訪問Servlet的API方式二:原生方式

七 Struts2訪問Servlet的API方式二:原生方式

前端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>