java web从零单排第十一期《struts2》action中的Servlet

由于在struts2中采用的是松耦合的方式进行设计,所以在struts2的action类中就可以不使用servlet的API来实现功能,但在控制层action中想要使用Servlet的API时,用该怎样操作呢?

本节介绍如何使用ActionContext类来对request,session,application对象进行操作。

1.创建控制层ShowScopeValue.java

package controller;

import java.util.Map;

import com.opensymphony.xwork2.ActionContext;

public class ShowScopeValue {
	
	public String execute()
	{
		//第一种方法向request对象中存放数据
		Map request  = (Map)ActionContext.getContext().get("request");
		request.put("requestValue1", "this is request");
		
		//第二种方法向request对象中存数据
		ActionContext.getContext().put("requestValue2", "this is another request");
		
		Map session = (Map)ActionContext.getContext().getSession();
		session.put("sessionValue", "this is session value");
		
		Map application  = (Map)ActionContext.getContext().getApplication();
		application.put("applicationValue", "this is appliacation value");
		
		return "showscopevalue";	
	}
}


由于struts2没有类似于getRequest的方法,所以必须使用Map request  = (Map)ActionContext.getContext().get("request");来获取request对象,也可以使用ActionContext.getContext().put("requestValue", "this is another request");来获取request对象。

2.创建showscopevalue.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/struts-tags" prefix="s" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

  <body>
    <s:property value="#request.requestValue"1/>
    <br>
    <br>
    
    <s:property value="#request.requestValue2"/>
    <br>
    <br>
    
    <s:property value="#session.sessionValue"/>
    <br>
    <br>
    
    <s:property value="#application.applicationValue"/>
    <br>
    <br>

  </body>
</html>


3.配置文件struts.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtd/struts-2.0.dtd">
<struts>

   <package name="Maybe" extends="struts-default">
   
   <action name="showscopevalue" class="controller.showScopeValue">
     <result name="showscopevalue">
       /showscopevalue.jsp
     </result>
   </action>
   </package> 
</struts>

4.运行:showscopevalue.jsp

java web从零单排第十一期《struts2》action中的Servlet_第1张图片

 

你可能感兴趣的:(java,Web,jsp,struts2,application)