Struts2 通过ognl表达式实现投影
发布时间 - 2026-01-11 03:27:56 点击率:次projection(投影):俗话说就是过滤,就是过滤器把符合条件的过滤出来

struts.xml:
<package name="ognl" namespace="/ognl" extends="struts-default">
<action name="pro" class="cn.edu.hpu.ognl.OgnlAction4">
<result name="success">/ognl.jsp</result>
</action>
</package>
OgnlAction4.java:
package cn.edu.hpu.ognl;
import java.util.ArrayList;
import cn.edu.hpu.mode.User;
import com.opensymphony.xwork2.ActionSupport;
public class OgnlAction4 extends ActionSupport{
private ArrayList<User> users;
public OgnlAction4(){
users=new ArrayList<User>();
User user1=new User();
user1.setAge(18);
User user2=new User();
user2.setAge(1);
User user3=new User();
user3.setAge(21);
User user4=new User();
user4.setAge(23);
users.add(user1);
users.add(user2);
users.add(user3);
users.add(user4);
}
public ArrayList<User> getUsers() {
return users;
}
public void setUsers(ArrayList<User> users) {
this.users = users;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return "success";
}
}
链接:
过滤:<a href="<%=basePath%>ognl/pro" rel="external nofollow" >OGNL9</a><br/>
结果界面:
<!-- 正则表达式中,"^"代表开头,"$"代表结尾,"?"代表过滤 -->
<li>投影(过滤):<s:property value="users.{?#this.age==1}.{age}"/><br/>
<!-- 找到所有年龄大于1的user,取第一个 -->
<li>投影:<s:property value="users.{^#this.age>1}.{age}"/><br/>
<!-- 找到所有年龄大于1的user,取最后一个 -->
<li>投影:<s:property value="users.{$#this.age>1}.{age}"/><br/>
<!-- 找到所有年龄大于1的集合,判断这个集合是否为空 -->
<li>投影:<s:property value="users.{$#this.age>1}.{age} == null"/><br/>
结果:
投影(过滤):[1]
投影:[18]
投影:[23]
投影:false
总结
以上就是本文关于Struts2 通过ognl表达式实现投影的全部内容,希望对大家有所帮助。有问题请留言,小编会及时回复大家的。感谢大家对网站的支持!
# struts2
# ognl表达式
# struts2的ognl表达式
# projection
# 详解Struts2动态方法调用
# Struts2 OGNL表达式实例详解
# Struts2修改上传文件大小限制方法解析
# AjaxFileUpload+Struts2实现多文件上传功能
# struts2开发流程及详细配置
# struts+spring+hibernate三个框架的整合
# Struts2获取参数的三种方法总结
# 第一个
# 小编
# 符合条件
# 俗话说
# 感谢大家
# 为空
# 正则表达式
# import
# java
# success
# util
# jsp
# result
# hpu
# ArrayList
# private
# public
# users
# ActionSupport
# User
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何续费美橙建站之星域名及服务?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
JavaScript数据类型有哪些_如何准确判断一个变量的类型
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
Laravel如何实现API版本控制_Laravel版本化API设计方案
Python3.6正式版新特性预览
如何在Ubuntu系统下快速搭建WordPress个人网站?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
QQ浏览器网页版登录入口 个人中心在线进入
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
微信小程序 require机制详解及实例代码
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何在Windows 2008云服务器安全搭建网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel如何与Pusher实现实时通信?(WebSocket示例)
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
Mybatis 中的insertOrUpdate操作
如何自定义建站之星网站的导航菜单样式?
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
打造顶配客厅影院,这份100寸电视推荐名单请查收
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
Laravel API资源类怎么用_Laravel API Resource数据转换
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
如何快速搭建高效WAP手机网站?
Laravel storage目录权限问题_Laravel文件写入权限设置
如何快速选择适合个人网站的云服务器配置?
文字头像制作网站推荐软件,醒图能自动配文字吗?
如何利用DOS批处理实现定时关机操作详解
使用spring连接及操作mongodb3.0实例
微信小程序制作网站有哪些,微信小程序需要做网站吗?
Laravel如何与Inertia.js和Vue/React构建现代单页应用
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel怎么判断请求类型_Laravel Request isMethod用法
香港网站服务器数量如何影响SEO优化效果?
LinuxCD持续部署教程_自动发布与回滚机制
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
北京的网站制作公司有哪些,哪个视频网站最好?
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程

