Struts2 OGNL遍历

OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 
总的来说JSP页面中的元素<s:property value="xxx"/>,只要在action中有它对应的public Getter即可得到相应的值。 



<s:select label="label" name="name" list="{'name1','name2','name3'}" value="%{'name2'}" /> 

<s:select label="userList" name="userList" list="userList" listKey="id" listValue="name" /> // userList中为JavaBean 

<s:select label="'map'" name="mapList" list="map"/> 
 
选择(select)一个集合的子集(叫做投影),你可以在Collection中使用通配符. 

? -所有符合选择逻辑的元素 
^ - 符合选择逻辑的第一个元素 
$ - 符合选择逻辑的最后一个元素 
示例: 
JavaBean: 
Book.java 
private String title; 
private String author; 
private double price; 

Action: private List<Book> bookList; 
JSP页面: 

<s:iterator value="bookList.{?#this.price > 35}"> 
      <s:property value="title" /> :<s:property value="price" /> 
</s:iterator> 


Iterator 


遍历List 

 

<s:iterator value="userList" status="status">
//userList来自Action的public List getUserList()得到,无参的Getter,且修饰符一定为public
      <s:set name="user"/>
      <s:property value="name"/>
      <s:property value="#user.name"/>//来自JSP页面的变量得用#引用
      <s:property value="top.name"/>
      <s:property value="top"/>
      <s:property value="getValue(#user)"/>//getValue为Action中定义的public User getValue(User user) 
</s:iterator>
 

遍历Map 

 

<s:iterator value="map" status="status">
     <s:property value="key"/>
     <s:property value="value"/>
</s:iterator>
 
例子:

 

<s:iterator value="{'a','b','c'}" status="status" >
      <s:property value="#status.index" />
      <s:property value="#status.count-1" />
      <s:property value="top" />-
      <s:property value="'top'+#status.index+':'+top" />
</s:iterator>
 

输出: 
0 0 a- top0:a 
1 1 b- top1:b 
2 2 c- top2:c 


iterator 中status 的方法: 

even : boolean - returns true if the current iteration is even 
odd  : boolean - returns true if the current iteration is odd 
count : int - returns the count (1 based) of the current iteration 
index : int - returns the index (0 based) of the current iteration 
first : boolean - returns true if the iterator is on the first iteration 
last : boolean - returns true if the iteration is on the last iteration 
modulus(operand : int) : int - returns the current count (1 based) modulo the given operand 
eg:<s:property value="#stat.modulus(2)" /> 


IF 

 

<s:if test="#status.odd">class1</s:if><s:else>class2</s:else>
<s:if test="type=='Amount'||type==null"> display</s:if>
//其中type相当<ww:property value="type" /> 
 

大模型安全-生成检测-事实核查-攻击-防御-思考-记忆-融合-语音相关研究 2025年版 本文整理了关于大模型安全领域的综合性资源,包括7篇综述论文、9个安全数据集以及5篇强化学习相关的安全研究论文。主要涉及大模型的对抗攻击、隐私保护、安全评估等方向,涵盖TruthfulQA、ToxiGen等知名数据集和TrustLLM、HarmBench等关键研究。资源包括知乎博主分享、arXiv预印本和顶会论文,并附有详细的中文讲解链接,为研究者提供了系统性的安全研究参考。 阅读详情

相关推荐

ADC噪声参数博弈论:为何24位ADC的有效分辨率可能不如16位?

本文深入探讨了ADC噪声参数的核心矛盾,揭示了24位ADC有效分辨率可能不如16位ADC的根本原因。关键在于跳出单纯比较位数的误区,转而关注输入参考噪声这一绝对指标。文章通过分析参考电压对满量程范围和噪声模型的影响,阐述了动态范围与最小可测信号之间的取舍逻辑,为工程师提供了基于系统实际需求的ADC选型与噪声评估框架。

snow3的博客 703

Struts2的OGNL遍历数组、List、简单的Map

一、简介 可以遍历数据栈里面的任何数组,集合等等 在使用这个标签的时候有三个属性值得我们关注 1. value属性:可选的属性,value属性是指一个被迭代的集合,使用ognl表达式指定,如果为空的话默认就是ValueStack栈顶的集合. 2.id属性:可选属性, 是指集合元素的id 3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象

nature_fly088的专栏 1万+

ROS2实战:手把手教你用walking机器人仿真实现医院多楼层自动配送(含实时地图切换)

本文详细介绍了如何利用ROS2和walking机器人仿真平台实现医院多楼层自动配送系统,重点讲解了动态地图切换技术和多楼层导航的实现方法。通过实时加载地图和优化电梯过渡策略,解决了医院复杂环境下的自主配送难题,为医疗物流自动化提供了实用解决方案。

weixin_29090917的博客 358

java struts2 list_Struts2中ognl遍历数组,list和map方法详解

一、简介可以遍历数据栈里面的任何数组,集合等等在使用这个标签的时候有三个属性值得我们关注1. value属性:可选的属性,value属性是指一个被迭代的集合,使用ognl表达式指定,如果为空的话默认就是ValueStack栈顶的集合.2.id属性:可选属性, 是指集合元素的id3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置,包...

weixin_35110501的博客 265

DBeaver连接IoTDB避坑指南:手动配置JDBC驱动的完整流程(附问题排查)

本文提供了在DBeaver中手动配置Apache IoTDB JDBC驱动的完整流程与避坑指南。详细解析了从驱动创建、库文件添加(关键是指向整个lib目录)到连接测试的每一步,并重点针对常见的ClassNotFoundException、连接拒绝等错误提供了深度排查方案,帮助用户高效建立图形化管理连接。

weixin_28327051的博客 393

java+getactionmap_Struts2 使用OGNL遍历map方法详解

一.Action中的代码:MapAction.javapackage com.zx.demo.action;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.opensymphony.xwork2.ActionSupport;import...

weixin_42250528的博客 148

飞牛NAS挂载115网盘避坑指南:为什么你的大文件总是传输失败?

本文深入解析了在飞牛NAS上通过AList挂载115网盘时,大文件传输失败的深层原因,包括风控机制、网络协议及兼容性问题。文章提供了从基础排查到高阶优化的系统性解决方案,并建议采用Kopia分片备份等终极策略,以实现稳定可靠的云端数据流转。

weixin_29306011的博客 1681

Struts2 OGNL集合的遍历

 &lt;li&gt;遍历集合:&lt;br/&gt;  &lt;s:iteratorvalue="{1,2,3,4,5}"&gt;     &lt;s:property/&gt;||  &lt;/s:iterator&gt;      &lt;li&gt;自定义变量:&lt;br/&gt;  &lt;s:iteratorvalue="{'aaa','bbb'

qq_37668945的博客 537

DC算法竞赛——北京PM2.5浓度回归分析

北京PM2.5浓度回归分析 比赛结果(118/1150) 一. 概述 1、项目来源:https://www.dcjingsai.com/static_page/cmpList.html 2、给定数据字段如下: 3、使用方法:回归算法 4、目的:预测北京pm2.5值,使平均预测误差越小越好。 二、分析过程 setwd("E:/R数据源") #读入数据 data <- read.csv('p...

玻璃球的博客 3474

车窗标定工作流程

标定简单来说就是修改防夹参数来适配对应的车型,所有的防夹的参数在vers_userdef.h文件中定义。#标定内容。

qq_21274991的博客 4269

Struts2使用OGNL遍历各种map总结

转载▼ 标签:  ognl遍历map集合   struts2中iterator标 分类: Struts2 一.Action中的代码:MapAction.java package com.zx.demo.action; import java.util.ArrayList;   import java.util.Ha

niqikun的博客 1129

【25届数字IC秋招总结】面试经验15——比特大陆-算能

25届数字ic面试记录——比特大陆-算能

lalala0635的博客 553

Struts2 Ognl遍历(转)

OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 总的来说JSP页面中的元素&lt;s:property value="xxx"/&...

℡瀦娃娃ゞɑ 101

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

struts2标签结合ognl表达式遍历map

[code="java"] -> [/code]

JAVAGirl 196

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

[转]Struts2.x OGNL 遍历 数组 集合

<br /><% Map m = new LinkedHashMap(); String[] s1 = new String[3]; String[] s2 = new String[3]; String[] s3 = new String[3]; for(int i=0;i<3;i++){ s1[i] = "我是s1:" + i; s2[i] = "我是s2:" + i; s3[i] = "我是s3:" + i; } m.put("s1",s1); m.p

1733

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

struts2:OGNL表达式,遍历List、Map集合;投影的使用

OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 片头(ognl.jsp) &lt;% request.setAt...

weixin_34315189的博客 270

struts2 一些遍历取值标签

struts2 的web 项目中为了方便的编写jsp,标签是最好的选择~~ ~~struts2 标签库的定义在**-core-版本号.jar META-INF 路径下找到struts-tags.tld文件;使用该标签需要在web 项目里面导入标签库: A:在web.xml文件 (默认 可以省略) 1. 2. /struts-tags 3. ...

iteye_9657的博客 93

Struts2标签——OGNL表达式在Struts2中的应用

上一章节学习了OGNL在struts2上应用的体现,分别是参数的获取、配置文件中数据的传递,还有一个是struts2标签,但是在上一章节没有记录,本章节进行学习记录~ Struts2标签——OGNL表达式在Struts2中的应用Struts2标签——OGNL表达式在Struts2中的应用1、控制标签2、数据标签3、表单标签4、非表单标签 Struts2标签——OGNL表达式在Struts2中的...

༺清风暖云༻ 842

struts2中s:iterator 标签的使用详解

struts2中s:iterator 标签的使用详解 2016年08月31日 19:16:10 阅读数:8320 标签: struts iterator struts2.0 标签 更多 个人分类: 软件工具 简单的demo: s:iterator 标签有3个属性: value:被迭代的集合 id   :指定集合里面的元素的id status 迭代元素的索引 1:jsp页面定义元素写法 数...

Golden_soft的专栏 4357

Struts笔记5

文件下载 1.写action类 package com.gyf.web.action; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import com.opensymphony.xwork2.Act...

weixin_30859423的博客 112
上一篇: Struts2 关于OGNL的%#$的应用
下一篇: oracle管道化表函数
javaRwx
博客等级 码龄20年 0粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值