- 浏览: 60604 次
- 性别:
- 来自: 成都
-
文章分类
OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。
Struts 2框架使用OGNL作为默认的表达式语言。 相对EL表达式,它提供了平时我们需要的一些功能,如: 支持对象方法调用,如xxx.sayHello(); 支持类静态方法调用和值访问,表达式的格式为 [类全名(包括包路径)] 方法名 | 值名], Ognl 有一个上下文(Context)概念,说白了上下文就是一个MAP结构,它实现了java.utils.Map接口,在Struts2中上下文(Context)的实现为ActionContext,下面是上下文(Context)的结构示意图 2.访问上下文(Context)中的对象需要使用#符号标注命名空间,如#application、#session 另外OGNL会设定一个根对象(root对象),在Struts2中根对象就是ValueStack(值栈) 。如果要访问根对象(即ValueStack)中对象的属性,则可以省略#命名空间,直接访问该对象的属性即可。 在struts2中,根对象ValueStack的实现类为OgnlValueStack,该对象不是我们想像的只存放单个值,而是存放一组对象。在OgnlValueStack类里有一个List类型的root变量,就是使用他存放一组对象
|--request
|--application context ------
|--OgnlValueStack root变量[action, OgnlUtil, ... ]
|--session
|--attr
|--parameters
在root变量中处于第一位的对象叫栈顶对象。通常我们在OGNL表达式里直接写上属性的名称即可访问root变量里对象的属性,搜索顺序是从栈顶对象开始寻找,如果栈顶对象不存在该属性,就会从第二个对象寻找,如果没有找到就从第三个对象寻找,依次往下访问,直到找到为止。 大家注意: Struts2中,OGNL表达式需要配合Struts标签才可以使用。如:<s:property value="name"/>
3.由于ValueStack(值栈)是Struts 2中OGNL的根对象,如果用户需要访问值栈中的对象,在JSP页面可以直接通过下面的EL表达式访问ValueStack(值栈)中对象的属性:
${foo} //获得值栈中某个对象的foo属性
如果访问其他Context中的对象,由于他们不是根对象,所以在访问时,需要添加#前缀。
application对象:用于访问ServletContext,例如#application.userName或者#application['userName'],相当于调用ServletContext的getAttribute("username")。
session对象:用来访问HttpSession,例如#session.userName或者#session['userName'],相当于调用session.getAttribute("userName")。
request对象:用来访问HttpServletRequest属性(attribute)的Map,例如#request.userName或者#request['userName'],相当于调用request.getAttribute("userName")。
parameters对象:用于访问HTTP的请求参数,例如#parameters.userName或者#parameters['userName'],相当于调用request.getParameter("username")。
attr对象:用于按page->request->session->application顺序访问其属性。
发表评论
-
Spring源码分析之IOC2
2013-03-16 23:25 884本篇将介绍下ApplicationCo ... -
Spring源码分析之IOC
2013-03-16 21:40 782先看两种方式在IOC容器取得bean 1 beanFactor ... -
一些在工作中遇到的问题汇总
2012-12-10 23:31 0保留一定的小数位数 1 DecimalFormat ... -
Set集合源码初探
2012-12-06 23:07 0[color=green][size=medium] � ... -
一些常用的jar包
2012-12-04 22:44 0一些常用的jar 放在网上方便使用 Did your c ... -
java 获取请求ip
2012-11-20 23:11 3288public class IpUtil { publ ... -
mongodb
2012-11-20 22:09 777mongodb文档, -
padingtoolbar 的扩张
2012-10-31 22:01 0在Ext的原有分页控件中,服务器端方法是根据传入的起始数据记录 ... -
extjs的一些组件
2012-10-17 22:34 742<script type="text/java ... -
extjs
2012-10-14 23:09 650extjs的一些文档 -
jquery ui
2012-09-11 22:54 763一个jquery ui 后台 -
重拾java之线程1
2012-09-10 00:17 980[size=medium] 接触java也有一段时间了,以前选 ... -
dom4j 一些使用
2012-07-30 22:40 0dom4j使用 -
一个http请求
2012-07-18 00:04 0ackage com.sxit.phoenix.common; ... -
读书笔记effective之对所有对象通用的方法
2012-03-18 17:22 919读书笔记effective之对所有对象通用的方法 第一条 覆 ... -
读书笔记effective java 之条目
2012-03-18 15:05 861最近看了下effective java 有编程许多经验值得学 ... -
读书笔记effective java 之通用程序设计3
2012-03-15 22:21 913第五条 基本类型优先于装箱基本类型 java有一个类型系 ... -
读书笔记effective java 之通用程序设计2
2012-03-15 20:59 938第三条 了解和使用类库 ... -
effective java 之通用程序设计
2012-03-15 16:15 779第一条 将局部变量的作用域最小化 将局部变量的作用域最小 ... -
http与socket连接区别
2011-11-08 01:11 488相信不少初学手机联网� ...
相关推荐
ogln.jar源文件下载 ogln源文件下载-ogln.jar的愿文件 ogln ogln源文件 ogln源代码 ogln.jar
Login Failed(解决方案).md
数据集介绍:神经元细胞核检测数据集 一、基础信息 数据集名称:神经元细胞核检测数据集 图片数量: - 训练集:16,353张 - 测试集:963张 分类类别: - Neuron(神经元细胞核):中枢神经系统的基本功能单位,检测其形态特征对神经科学研究具有重要意义。 标注格式: - YOLO格式,包含边界框坐标及类别标签,适用于目标检测任务 - 数据来源于显微镜成像,覆盖多种细胞分布形态和成像条件 二、适用场景 神经科学研究: 支持构建神经元定位分析工具,助力脑科学研究和神经系统疾病机理探索 医学影像分析: 适用于开发自动化细胞核检测系统,辅助病理诊断和细胞计数任务 AI辅助诊断工具开发: 可用于训练检测神经元退行性病变的模型,支持阿尔茨海默症等神经疾病的早期筛查 生物教育及研究: 提供标准化的神经元检测数据,适用于高校生物学实验室和科研机构的教学实验 三、数据集优势 大规模训练样本: 包含超1.6万张训练图像,充分覆盖细胞核的多样分布状态,支持模型深度学习 精准定位标注: 所有标注框均严格贴合细胞核边缘,确保目标检测模型的训练精度 任务适配性强: 原生YOLO格式可直接应用于主流检测框架(YOLOv5/v7/v8等),支持快速模型迭代 生物学特性突出: 专注神经元细胞核的形态特征,包含密集分布、重叠细胞等真实生物场景样本 跨领域应用潜力: 检测结果可延伸应用于细胞计数、病理分析、药物研发等多个生物医学领域
剪切散斑干涉条纹图像处理技术研究进展.pdf
软考初级程序员相关文档
ATB2012-75011-T00-射频组件-中文数据手册
内容概要:本文详细介绍了光伏储能系统中三相PQ恒功率并网控制策略的仿真研究。主要内容涵盖网侧PQ恒功率控制、储能系统的双闭环控制策略以及光伏Boost模型的构建。网侧控制采用PQ恒功率控制,确保系统在各种负载条件下维持恒定功率输出,减少电能损失和电网能耗。储能控制部分,通过直流母线电压外环和电池电流内环的双闭环控制策略,实现了对系统输出电压和电池充放电电流的精确控制。光伏Boost模型则基于经典MPPT算法(如扰动观察法),确保在功率等级相似情况下仅需调整光伏模块即可满足需求。文中还展示了使用MATLAB等工具进行仿真的示例代码,评估不同控制策略的效果。 适合人群:从事电力系统、新能源技术和自动化控制领域的研究人员和技术人员。 使用场景及目标:适用于希望深入了解光伏储能系统控制策略及其仿真方法的专业人士,帮助他们掌握最新的技术进展和应用实例。 其他说明:文章引用了相关文献,提供了丰富的理论基础和实践经验,有助于进一步研究和探讨光伏储能技术的发展趋势和应用前景。
毕业设计-分享送红包 3.0.1-整站商业源码.zip
毕业设计-互联网加共享农业V1.3.6 小程序前端+后端-整站商业源码.zip
内容概要:本文探讨了在Matlab/Simulink环境下,针对双馈风机风电场的一次调频方法,特别是虚拟惯性惯量控制和下垂控制的应用。文中介绍了这两种控制策略的具体实现方式及其在三机九节点系统中的应用,同时讨论了同步机、火电和水电机组的调频机制。此外,文章强调了Phasor模型在提高仿真速度方面的作用,使得仿真时间缩短至仅需20秒。 适合人群:从事风力发电、电力系统自动化及相关领域的研究人员和技术人员。 使用场景及目标:适用于希望深入了解风电调频技术的研究人员,旨在提供一种高效、快速的仿真工具,以便更好地理解和优化风电场的调频性能。 其他说明:文章不仅提供了理论解释,还包括具体的Matlab/Simulink代码片段,便于读者实际操作和验证。
内容概要:本文介绍了PID控制器在智能建筑温度控制中的应用,特别是通过MATLAB的Simulink工具进行仿真的过程。首先阐述了PID控制器的基本原理及其优点,接着详细描述了如何在Simulink中建立PID控制模型并调整相关参数,最后展示了具体的MATLAB代码示例以及仿真结果。文章强调了PID控制器在提高温度控制精度方面的重要性和广泛应用前景。 适合人群:对自动化控制理论感兴趣的学生和技术爱好者,尤其是那些希望深入了解PID控制器工作原理及其在实际工程中应用的人群。 使用场景及目标:适用于想要学习如何使用MATLAB/Simulink进行控制系统仿真的初学者或者有一定经验的研发人员,旨在帮助他们掌握PID控制器的设计与实现技巧。 其他说明:文中提供的示例代码可以帮助读者更快地上手操作,同时鼓励读者尝试不同的参数配置以优化控制性能。此外,还提到了PID控制器在未来可能的发展方向和应用场景。
内容概要:报告详细分析了空间智能的发展现状与未来趋势,涵盖自动驾驶、3D生成、具身智能、扩展现实(XR)和世界模型五大领域。自动驾驶凭借庞大的车队数据积累和成熟的数据闭环机制,成为目前最成熟的空间智能应用,正逐步从模仿学习转向强化学习。3D生成技术处于快速发展阶段,主要瓶颈在于寻找具有良好扩展性的3D数据表征方式。具身智能虽然潜力巨大,但整体成熟度较低,数据积累、算法和硬件方面均处于早期探索阶段。XR作为新的信息交互方式,其硬件基础逐渐成熟,未来将推动更多3D原生内容和应用生态的繁荣。世界模型则是空间智能发展的终极目标,它通过构建对现实世界的内部表征,实现对未来状态的预测和行动后果的推理。 适合人群:对空间智能领域感兴趣的科技从业者、研究人员、投资者及相关政策制定者。 使用场景及目标:①了解空间智能各细分领域的技术进展、挑战和发展趋势;②评估投资机会和技术合作方向;③为政策制定提供参考依据。 其他说明:报告强调了数据体系成熟度是观察空间智能进展的关键指标,包括数据积累、数据构成、数据分布和数据闭环四部分。此外,报告还指出,随着3D和物理AI数据体系的进一步成熟,空间智能将迎来爆发式增长。
内容概要:本文详细介绍了基于粒子群优化算法(PSO)的永磁同步电机(PMSM)参数辨识方法。文章从引言部分阐述了PMSM的重要性和参数辨识的需求出发,逐步深入到具体的算法流程,包括粒子群的初始化、速度和位置的更新及其边界处理、自适应变异、约束条件判断以及适应度计算与比较。通过多次迭代,最终确定最优的电机参数组合。文中还讨论了实际应用中的调整技巧和未来的研究方向。 适合人群:从事电机控制、自动化工程及相关领域的研究人员和技术人员。 使用场景及目标:适用于需要对永磁同步电机进行高精度参数辨识的场合,如工业自动化设备、电动汽车等领域。目标是提升电机控制系统的性能,确保系统稳定运行。 其他说明:本文不仅提供了理论依据,还结合了大量实验数据验证了该方法的有效性,为后续研究奠定了坚实的基础。
数据集介绍:多环境动物及人类活动目标检测数据集 一、基础信息 数据集名称:多环境动物及人类活动目标检测数据集 图片数量: - 训练集:12,599张图片 - 验证集:1,214张图片 - 测试集:607张图片 总计:14,420张图片 分类类别: - bear(熊): 森林生态系统的顶级掠食者 - bird(鸟类): 涵盖多种飞行及陆栖鸟类 - cougar(美洲狮): 山地生态关键物种 - person(人类): 自然环境与人类活动交互场景 - truck(卡车): 工业及运输场景的车辆目标 - ungulate(有蹄类动物): 包括鹿、羊等草食性哺乳动物 - wolf(狼): 群体性捕食动物代表 标注格式: YOLO格式标注,包含归一化坐标的边界框及类别标签,可直接适配YOLOv5/v7/v8等主流检测框架。 数据特性: 涵盖航拍、地面监控等多视角数据,包含昼夜不同光照条件及复杂背景场景。 二、适用场景 野生动物保护监测: 支持构建自动识别森林/草原生态系统中濒危物种的监测系统,用于种群数量统计和栖息地研究。 农业与畜牧业管理: 检测农场周边的捕食动物(如狼、美洲狮),及时预警牲畜安全风险。 智能交通系统: 识别道路周边野生动物与运输车辆,为自动驾驶系统提供碰撞预警数据支持。 生态研究数据库: 提供7类典型生物与人类活动目标的标注数据,支撑生物多样性分析与人类活动影响研究。 安防监控增强: 适用于自然保护区监控系统,同时检测可疑人员(person)与车辆(truck)的非法闯入。 三、数据集优势 多场景覆盖: 包含森林、公路、山地等多类型场景,覆盖从独居动物(cougar)到群体生物(wolf)的检测需求。 类别平衡设计: 7个类别经专业数据采样,避免长尾分布问题,包含: - 3类哺乳动物捕食者(bear/cougar/wolf) - 2类环境指示物种(bird/ung
基于实体知识推理的端到端任务型对话.pdf
基于SSM的酒店管理系统源码+数据库文件.zip,该项目已高分通过。适用于计算机专业学生毕设及Java学习者实战练习,也可用于课程设计或期末大作业。包含项目源码、数据库脚本、软件工具及说明文档等,可直接使用。后台管理功能包括:会员信息管理(显示和删除)、客房信息管理(添加/删除客房类型和客房,编辑客房信息,未实现评论管理)、预订信息管理和入住信息管理(添加入住信息,结账后删除)。用户端主要功能有登录注册、客房预订及查看/编写评论。。内容来源于网络分享,如有侵权请联系我删除。
毕业设计-灵石AI识别大全V3.0.0 小程序前端+后端-整站商业源码.zip
CTF(Capture The Flag)竞赛中的Misc(杂项)类别题目涉及多种技术领域,包括隐写术、编码、取证、流量分析等。其中,图片隐写是CTF-Misc中常见且重要的题型之一。本文将重点介绍CTF-Misc中图片隐写技术的学习资料、操作应用以及实战项目。CTF-Misc中的图片隐写技术是竞赛中的重要题型。通过学习图片隐写的原理、操作应用以及实战项目,可以提升在CTF竞赛中的解题能力。掌握常见的隐写工具,并结合实战案例进行练习,是提高CTF-MISC技能的有效方法。
软考初级程序员相关文档
毕业设计-仿花生日记官网源码-整站商业源码.zip