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


相关推荐: 如何在橙子建站上传落地页?操作指南详解  如何用低价快速搭建高质量网站?  Laravel观察者模式如何使用_Laravel Model Observer配置  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Android仿QQ列表左滑删除操作  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  javascript日期怎么处理_如何格式化输出  如何快速生成凡客建站的专业级图册?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  php json中文编码为null的解决办法  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  使用Dockerfile构建java web环境  Laravel如何优化应用性能?(缓存和优化命令)  Java遍历集合的三种方式  如何在景安云服务器上绑定域名并配置虚拟主机?  黑客如何通过漏洞一步步攻陷网站服务器?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何在阿里云高效完成企业建站全流程?  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  中国移动官方网站首页入口 中国移动官网网页登录  Android实现代码画虚线边框背景效果  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  成都网站制作公司哪家好,四川省职工服务网是做什么用?  详解Oracle修改字段类型方法总结  LinuxShell函数封装方法_脚本复用设计思路【教程】  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  高端网站建设与定制开发一站式解决方案 中企动力  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何在VPS电脑上快速搭建网站?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  如何挑选优质建站一级代理提升网站排名?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  企业网站制作这些问题要关注  WEB开发之注册页面验证码倒计时代码的实现  Laravel Fortify是什么,和Jetstream有什么关系  Laravel如何处理表单验证?(Requests代码示例)  如何解决hover在ie6中的兼容性问题  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  EditPlus中的正则表达式实战(5)  微信小程序 canvas开发实例及注意事项  海南网站制作公司有哪些,海口网是哪家的?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  php485函数参数是什么意思_php485各参数详细说明【介绍】  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?