struts2访问Web元素

[b]struts2访问Web元素[/b]
struts2访问Web元素:
[list]
1.使用ActionContext
2.使用ServletActionContext
3.实现RequestAware,SessionAware,ApplicationAware(最常用)
[/list]
具体代码如下:
VisitWebElement.java 在该类中使用第一和第二种方法

package com.sinwee.visitWebElement;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class VisitWebElement extends ActionSupport {

/**
*
*/
private static final long serialVersionUID = -2022249357432920534L;



public String byActionContext() {

ActionContext actionContext = ActionContext.getContext();
actionContext.put("request", "request应用范围");
actionContext.put("names", Arrays.asList("wangxinwe,sinwee,zhangxueyou,liudehua"));
actionContext.getSession().put("session", "session应用范围");
actionContext.getApplication().put("application", "application应用范围");
return "actionContext";
}

public String byServletActionContext() throws IOException {

HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("request", "request域");
HttpSession session = request.getSession();
session.setAttribute("session", "session域");
ServletContext application = ServletActionContext.getServletContext();
application.setAttribute("application", "application域");
//HttpServletResponse response = ServletActionContext.getResponse();
//PrintWriter writer = response.getWriter();
//writer.write("通过ServletActionContext得到的HttpServletResponse");

return "servletActionContext";
}

}



ImplementAware.java 在该类中使用第三种方法


package com.sinwee.visitWebElement;

import java.util.Map;

import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;

import com.opensymphony.xwork2.ActionSupport;

public class ImplementAware extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{

/**
*
*/
private static final long serialVersionUID = 2534117735365564103L;

private Map<String, Object> request;
private Map<String, Object> session;
private Map<String, Object> application;

public String byImplAware() {

this.request.put("request", "request域_aware");
this.session.put("session", "session域_aware");
this.application.put("application", "application域_aware");
return "byImplAware";
}

@Override
public void setRequest(Map<String, Object> request) {
this.request = request;
}

@Override
public void setSession(Map<String, Object> session) {
this.session = session;
}

@Override
public void setApplication(Map<String, Object> application) {
this.application = application;
}

}



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/dtds/struts-2.0.dtd">

<struts>
<constant name="struts.devMode" value="true" />
<package name="vistWebElement" namespace="" extends="struts-default">
<action name="byActionContext_*" class="com.sinwee.visitWebElement.VisitWebElement" method="{1}">
<result name="actionContext">
/showValueByActionContext.jsp
</result>
</action>

<action name="byServletActionContext_*" class="com.sinwee.visitWebElement.VisitWebElement" method="{1}">
<result name="servletActionContext">
/showValueByServletActionContext.jsp
</result>
</action>

<action name="byImplAware_*" class="com.sinwee.visitWebElement.ImplementAware" method="{1}">
<result name="byImplAware">
/showValueByImplAware.jsp
</result>
</action>
</package>
</struts>



web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>



visitWebElement.jsp 访问action的jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>测试struts2访问Web元素</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<form name="f" method="post">
<input type="button" value="通过ActionContext访问Web元素"
onclick="javascript:document.f.action='${pageContext.request.contextPath}/byActionContext_byActionContext';document.f.submit();"/>
<input type="button" value="通过ServletActionContext访问Web元素"
onclick="javascript:document.f.action='${pageContext.request.contextPath}/byServletActionContext_byServletActionContext';document.f.submit();"/>

<input type="button" value="通过实现RequestAware,SessoinAware,ApplicationAware访问Web元素"
onclick="javascript:document.f.action='${pageContext.request.contextPath}/byImplAware_byImplAware';document.f.submit();"/>
</form>
</body>
</html>



showValueByActionContext.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'showValueByActionContext.jsp' starting page</title>


</head>

<body>
显示通过ActionContext对象访问Web元素设置的值<br/>
request域中的元素:${requestScope.request}<br/>
request域中的list元素:
<c:forEach var="name" items="${requestScope.names}">
${name }
</c:forEach>
<br/>
session域中的元素:${sessionScope.session }<br/>
application域中的元素:${applicationScope.application }
</body>
</html>



showValueByServletActionContext.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'showValueByServletActionContext.jsp' starting page</title>

</head>

<body>
显示通过ServletActionContext对象访问Web元素设置的值<br/>
request域中的元素:${requestScope.request}<br/>
session域中的元素:${sessionScope.session }<br/>
application域中的元素:${applicationScope.application }

</body>
</html>



showValueByImplAware.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'showValueByImplAware.jsp' starting page</title>

</head>

<body>
显示通过实现AwareRequest,AwareSession,AwareApplication访问Web元素设置的值<br/>
request域中的元素:${requestScope.request}<br/>
session域中的元素:${sessionScope.session }<br/>
application域中的元素:${applicationScope.application }
</body>
</html>

ESP32网络开发实例-开发环境搭建 NodeMCU-ESP-32S开发环境搭建 NodeMCU-32S 最强的ESP32 开发板非盗版或副厂的CH340。WiFi 蓝牙ESP-32 可用Arduino IDE ESP32-S 是一款通用型WiFi-BT-BLE MCU模组,功能强大,用途广泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和MP3解码等。 此款模组的核心是ESP32芯片,具有可扩展、自适应的特点。两个CPU核可以被单独控制或上电。时钟频率的调节范围为80 MHz到240 MHz。用户可以切断CPU的电源,利用低 阅读详情

相关推荐

用示波器抓一次MIPI D-PHY的波形,手把手教你读懂HS模式和LP模式的切换时序

本文详细解析了MIPI D-PHY信号的双模切换机制,包括高速模式(HS)和低功耗模式(LP)的波形捕获与诊断技巧。通过示波器设置、关键状态分析和实战案例,帮助工程师快速定位信号完整性问题,提升调试效率。

weixin_30696427的博客 459

Struts2中访问web元素

有很多时候我们都需要访问web元素,比如说用户管理系统,用户登录成功了需要往session中放置一个值,然后要在前台拿到这个值,常用的web元素包括request、session和application等。 Struts2中有四种方式可以访问到web元素: 1、通过ActionContext来访问Map类型的request、session、application对象。 2、通过实现Reque

为幸福写歌的博客 369

从“盲控”到“预见”:聊聊永磁同步电机负载观测器(PMSM Load Observer)如何让控制更丝滑

本文深入探讨了永磁同步电机负载观测器(PMSM Load Observer)如何通过前馈补偿和转动惯量辨识技术实现智能抗扰控制。从传统‘盲控’到预见性调节,负载观测器显著减少转速波动和能耗,提升系统响应速度。文章详细解析了观测器算法架构、工程调参技巧及前沿发展趋势,为电机控制领域提供实用解决方案。

weixin_33737774的博客 406

struts2访问web元素方法

Struts2中访问web元素的四种方式及前台jsp页面获取后台值的方式 四种方式: 1. 通过ActionContext来访问request,session,application对象 2. 通过实现RequestAware、SessionAware、ApplicationAware接口来访问request,session,application对象 3. 通过Servl

毅个混蛋的专栏 1008

手把手教你用ESP32驱动MAX30102心率血氧传感器(含完整代码)

本文详细介绍了如何使用ESP32微控制器驱动MAX30102心率血氧传感器,构建智能健康监测系统。内容涵盖PPG原理、硬件连接、驱动配置、信号处理算法以及Web服务器数据可视化,提供完整代码实现,帮助开发者快速上手物联网健康设备开发。

weixin_29208077的博客 589

【强化学习】常用算法之一 “A3C”

A3C(Asynchronous Advantage Actor-Critic)算法是一种在强化学习领域中应用广泛的算法,它结合了策略梯度方法和价值函数的学习,用于近似解决马尔可夫决策过程(Markov Decision Process)问题。A3C算法在近年来备受关注,因为它在处理大规模连续动作空间和高维状态空间方面具有出色的性能。A3C算法是一种基于策略梯度的强化学习算法,通过多个并行的智能体异步地与环境交互,并利用Actor和Critic网络实现策略和价值的近似,从而实现快速而稳定的强化学习训练。

Code_and516的博客 6758

Struts2访问Web元素

Struts2访问Web元素 一,map类型的request,session,application 1,定义Map类型的相应变量(private Map request)(LoginAction1.java) 通过ActionContext获取相应的值 this.request = (Map)ActionContext.getContext().get("request"); t...

Honly_java的专栏 177

Java开发者必看:如何快速对接七大主流快递API(附完整代码示例)

本文为Java开发者提供了快速对接顺丰、京东、DHL等七大主流快递API的实战指南。文章深入剖析了不同API的认证、通信协议与参数差异,并提供了高可用的HTTP客户端配置、通用签名工具、SOAP请求处理以及可扩展的领域模型与适配层设计等完整代码示例,帮助开发者构建统一、健壮的物流集成框架,显著提升开发效率。

tech5的博客 728

Struts2中访问Web元素的3中方法

Struts2笔记 – Struts2中访问Web元素的3中方法 本文由 arthinking 发表于445 天前 ⁄ J2EE ⁄ 暂无评论 ⁄ 被围观 1,615 views+ 1、通过RequestAware,SessionAware,ApplicationAware获取: 在Struts2中不能直接访问Request,Session,Application元素,但是可

gm_163的专栏 612

UG NX二次开发基础篇-外部模式与DLL内部模式(二 DLL内部模式)

通常情况下,我们希望我们的外挂,在UG启动的时候,就自动加载我们的外挂,并以菜单和工具条的方式,显示在UG上面。当然,这也是市面上所有外挂的操作,因为您不可能要求你的用户,以手工加载的方式,去调用你的外挂吧。在上一篇中,有粉丝留言说,启动 bat 文件,启动EXE外挂,会提示无法找到DLL的错误,这是因为UG的环境变量设置有问题,这里,我们把BAT文件作一个修改,直接改为实际目录。EXE外部模式,还有很多部分需要添加的,如参数的传递、输出消息的显示、UG操作的消息显示,等等。Dll执行结束后,会调用。

u014657217的博客 1655

EtherCAT主站教程3--适配伺服驱动器(模式配置)

目前通用的伺服驱动器的位置模式、速度模式以及其他模式是伺服系统中常见的控制模式,切换这些模式通常需要根据具体的伺服驱动器型号和控制协议(如EtherCAT、CANopen、Modbus等)进行配置。以下是这些模式的概述及切换方法的一般性指导:协议规范中,一共有以下几种模式:其中模式1、3、6对于比较常用,也更容易上手。

weixin_52626887的博客 794

Struts2学习(五)访问web元素总结

struts2访问web元素(request、session、application)有4中方法,下面来介绍下这4种方法。前两种是取得Map类型request,session,application,后两种是真实类型 HttpServletRequest, HttpSession, ServletContext的引用。其中map类型中第二种方法是最常用的,其他三种知道就行一般不会用到。

FFA(Frighting for Ambition!) 1564

YOLOv11改进,YOLOv11结合DynamicConv(动态卷积),CVPR2024,二次创新C3k2结构

DynamicConv(动态卷积)是一个用于提高卷积神经网络(CNN)性能的技术,核心思想是动态地生成卷积核(filter),而不是使用固定的卷积核。通过引入更多的计算灵活性和适应性来增强卷积操作的表达能力,进而提升模型的性能。专家选择:DynamicConv 通过引入多个“专家”(experts),每个专家学习特定的卷积模式。输入图像的不同部分会选择不同的专家进行卷积。动态卷积核生成:根据输入的不同特征,专家网络动态地生成卷积核,而不是使用固定的卷积核。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2266

Struts2访问web元素

struts2访问web元素   取得Map类型的request、session、application、真实类型的HttpServletRequest、HttpSession、HttpServletApplication 第一种方式:在Action中取得Map类型的request、session、application  依赖于容器的方式 public cl

Make progress step by step everyday..... 641

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Struts2中访问web元素的四种方式

Struts2中访问web元素的四种方式: 1. 通过ActionContext来访问Map类型的request、session、application对象(依赖于Struts2 API 方式) 2. 通过实现RequestAware、SessionAware、ApplicationAware接口来访问Map类型的request、session、application对象(IoC方式) 3.

想念的专栏 979

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

struts2 访问web元素

Struts2中访问web元素的四种方式及前台jsp页面获取后台值的方式 四种方式: 1. 通过ActionContext来访问request,session,application对象 2. 通过实现RequestAware、SessionAware、ApplicationAware接口来访问request,session,application对象 3. 通过ServletActi

Code-lover's Learning Notes 775

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【struts2】访问web元素三种方法

访问web元素  request、session、application; httpservletrequest、servletcontext

1428

Struts2 访问web元素

访问web元素的四种方法(耦合,依赖注入)、(耦合,非依赖注入)、(非耦合,依赖注入)、(非耦合,非依赖注入) 耦合:可以得到HttpServletResponse,HttpServletRequest,HttpSession等类型对象。能直接操作到真正的web元素。 非耦合:得到的是由struts封装好的Map类型,只能对范围进行存取值操作。 依赖注入:对象由struts2从外部...

weixin_30271335的博客 82

Struts2学习第三天:访问web元素

struts2访问web元素

Liu_Arvin的芝士小栈 267

Struts 2 第12part 访问Web元素

2013年2月15日 天气晴 Struts 2 第12part 访问Web元素 实例:/Struts2_AccessWebElements 关于Struts 2访问Web元素这一块,稍微有点迷糊,因为调试程序老是出现一个空指针异常,暂时不知道为什么这样。但为了不阻碍学习的进度,还是稍微写写博客。 部署项目,在浏览器访问效果如下 可以看到,Struts中的Web元...

weixin_34395205的博客 80

Struts2笔记 – Struts2中访问Web元素的3中方法

[size=large][b]Struts2笔记 – Struts2中访问Web元素的3中方法[/b][/size] [b]1、通过RequestAware,SessionAware,ApplicationAware获取:[/b] 在Struts2中不能直接访问Request,Session,Application元素,但是可以使用Struts2中提供的RequestAware,S...

iteye_3352的博客 144

Struts2访问web元素(Request,Session,Application)的四种方式

Struts2访问web元素(Request,Session,Application)的四种方式

so_sss的专栏 1328

Struts2访问Web元素(RequestAware,SessionAware,ApplicationAware)

转载出处:https://blog.csdn.net/liliiii/article/details/41311531在Struts2中,动作类虽然继承ActionSupport类,可以直接写我们自己定义的方法,但是却不能像在Struts1中,对reques/response/application/HttpServletRequest等等一些Web元素进行操作,所以Struts2提供了Reque...

cj_to_niu 525

关于Struts2访问web元素,实现requestAware接口

关于Struts2访问web元素的方法有很多种,这里只讲通过实现requestAware, sessionAware接口来进行web元素访问时需要注意的一些事情 实现了requestAware接口,其Map集合中包含了一系列的和本次请求有关的信息,而实现了sessionAware接口,其Map集合中只会包含你所设定的值

Mrqiang9001 881
上一篇: action接受前台参数—属性接收和实体模型接收
下一篇: struts2校验数据
闗山难越
博客等级 码龄14年 0粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值