实现xxxAware接口直接访问Servlet API
来源:互联网 发布:windows入门教程 编辑:程序博客网 时间:2024/05/21 10:30
虽然Struts2提供了ActionContex类来访问Servlet API,但是这样毕竟不能直接获得Servlet API实例,为了使
Struts2能够直接访问到Servlet API的实例,Struts2还提供了接口:
ServletContextAware 实现该接口的Action,可以直接访问Web应用中的ServletContext
ServletRequestAware 实现该接口的Action,可以直接访问用户请求的HttpServletRequest
ServletResponseAware 实现该接口的Action,可以直接访问响应用户请求的HttpServletResponse
实现这些接口只需要再实现一个方法。如实现ServletRequestAware接口则需要实现public setSetbletRequestAware(HttpServletRequest request)。这个方法有一个参数HttpServletRequest,这个方法就代表了用户的请求。setSetbletRequestAware(HttpServletRequest request)访问到了Web应用的请求对象,并将对象设置给Action的成员属性,从而实现在Action中访问Servlet对象。
示例如下:
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport implements ServletRequestAware{
private HttpServletRequest request;
@Override
public String execute() throws Exception {
request.setAttribute(“success”, “walking in the sun”);
return SUCCESS;
}
@Override
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
}
success.jsp输出
<%@ page language=”java” import=”java.util.*” pageEncoding=”ISO-8859-1”%>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<body>
${requestScope.success}
</body>
</html>
Struts2能够直接访问到Servlet API的实例,Struts2还提供了接口:
ServletContextAware 实现该接口的Action,可以直接访问Web应用中的ServletContext
ServletRequestAware 实现该接口的Action,可以直接访问用户请求的HttpServletRequest
ServletResponseAware 实现该接口的Action,可以直接访问响应用户请求的HttpServletResponse
实现这些接口只需要再实现一个方法。如实现ServletRequestAware接口则需要实现public setSetbletRequestAware(HttpServletRequest request)。这个方法有一个参数HttpServletRequest,这个方法就代表了用户的请求。setSetbletRequestAware(HttpServletRequest request)访问到了Web应用的请求对象,并将对象设置给Action的成员属性,从而实现在Action中访问Servlet对象。
示例如下:
package com;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport implements ServletRequestAware{
private HttpServletRequest request;
@Override
public String execute() throws Exception {
request.setAttribute(“success”, “walking in the sun”);
return SUCCESS;
}
@Override
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
}
success.jsp输出
<%@ page language=”java” import=”java.util.*” pageEncoding=”ISO-8859-1”%>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<body>
${requestScope.success}
</body>
</html>
转载:http://blog.csdn.net/qq_20545159/article/details/45584415
阅读全文
0 0
- 实现xxxAware接口直接访问Servlet API
- 实现xxxAware接口直接访问Servlet API
- 实现ServletRequestAware接口直接访问Servlet API
- Struts2(5):Action中直接访问Servlet API---实现XxxAware接口
- 使用ServletActionContext类直接访问Servlet API
- Servlet API的直接与间接访问
- Action间接、直接访问Servlet API
- Struts之Action(Action继承类、实现接口、访问servlet API方法)
- 实现IHttpHandler 接口可用.axd直接访问
- ACtion直接访问Servlet API中的ServletRequest对象
- Action直接访问Servlet
- struts2访问servlet API、Web应用单元测试、prepare接口
- Action访问Servlet API
- Struts2访问Servlet API
- struts2访问servlet API
- Action访问Servlet API
- Struts2访问Servlet API
- Struts2:访问Servlet API
- 《剑指offer》刷题笔记(递归和循环):矩形覆盖
- (八)php参考手册---Date/Time函数
- android 按行读取txt文本内容
- Java.util.concurrent包学习(三)同步集合
- SQL基础
- 实现xxxAware接口直接访问Servlet API
- C# 利用Http Get,Post,Soap调用WebService
- 根据现有PDF模板填充信息(SpringBoot)
- HDU1092
- L脚本语言 整数对象方法调用
- hibernate_查询简介: 分页, 数据总数, 结果集的包装, 位置参数的设置
- 数据结构-二叉树面试 常考
- leetcode 208. Implement Trie (Prefix Tree) 字典树的构造
- 链表中倒数第K个结点