`
suko
  • 浏览: 73148 次
  • 性别: Icon_minigender_1
  • 来自: 富安
社区版块
存档分类
最新评论

JXPathContext支持迷糊匹配

阅读更多
看完例子就会了

public class Person {
	private String name;

	private int age;

	/**
	 * 
	 */
	public Person() {

	}

	public Person(String name) {
		this.name = name;
	}

	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return the age
	 */
	public int getAge() {
		return age;
	}

	/**
	 * @param age the age to set
	 */
	public void setAge(int age) {
		this.age = age;
	}

	/**
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "name:" + (this.name == null ? "" : name) + " age:" + this.age;
	}

	public static void main(String[] args) {
		List<Person> persons = new ArrayList<Person>();
		persons.add(new Person("Json", 20));
		persons.add(new Person("JSON", 21));
		persons.add(new Person("jacson", 22));

		JXPathContext context = JXPathContext.newContext(persons);
		context.setLenient(true);
		context.setFunctions(new ClassFunctions(String.class, "string"));

		String match = "Js".toLowerCase();

		for (Iterator<?> iterator = context.iterate("/.[contains(string:toLowerCase(name),\'" + match + "\')]"); iterator
				.hasNext();) {
			System.out.println(((Person) iterator.next()).toString());
		}
	}
}


关键点
1.context.setFunctions(new ClassFunctions(String.class, "string"));
参数String.class:将String类中的方法注入到context中
参数string:方法的命名空间,下面会用string:+方法名的方式调用对应方法

2.查询关键字match转换成小写

3.context.iterate("/.[contains(string:toLowerCase(name),\'" + match + "\')]");
使用String.toLowerCase将Person对象的name属性转换成小写,然后与match匹配


例子中打印结果如下:
name:Json age:20
name:JSON age:21
分享到:
评论

相关推荐

    tomcat类包中的一个

    例如,`JXPathContext`是主要的入口点,你可以创建一个上下文实例,然后使用`getValue()`和`setValue()`方法来读取和修改对象的属性。 5. **JSP与Servlet**:JSP是视图层技术,而Servlet是控制器。JSP文件会被...

    基于 Java 实现的打砖块游戏【安卓传感器开发课程实验】

    【作品名称】:基于 Java 实现的打砖块游戏【安卓传感器开发课程实验】 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:打砖块游戏,安卓传感器开发课程实验

    HTML+CSS+JS+JQ+Bootstrap的服务信息展示响应式手机网页模板.7z

    解锁网页开发秘籍,这套源码集成了HTML的结构力量、CSS的视觉魔法、JavaScript的交互智慧、jQuery的效率工具箱及Bootstrap的响应式盔甲。从基础搭建到动态交互,一步到位。 HTML筑基,强化网页骨络; CSS妆点,让设计灵动多彩; JavaScript驱动,实现页面互动; jQuery加持,简化操作,加速开发; Bootstrap响应,适配多端,无缝浏览。 无论你是编程新手还是高手,这份资源都能带你深入前端世界的核心,实践中学以致用,创造既美观又强大的网页作品。立刻行动,激发你的前端创造力!

    基于springboot+vue开发房屋租赁管理系统boot--附毕业论文+源代码+sql(毕业设计).rar

    本项目是一个基于Spring Boot和Vue的房屋租赁管理系统,专为计算机相关专业的学生设计,尤其适合那些正在进行毕业设计或寻求项目实战经验的Java学习者。项目提供了完整的源代码、数据库脚本以及详细的开发指南,同时附带了参考文献,使学生能够轻松地将此项目作为毕业设计的成果展示。 系统采用Spring Boot框架构建后端服务,实现了高效的资源管理和事务控制。前端则利用Vue.js框架,提供了直观易用的用户界面。数据库选用MySQL,确保了数据的安全性和稳定性。开发环境包括JDK、IntelliJ IDEA和Tomcat服务器,配置完善,便于开发者快速上手。 经过严格的测试,项目运行稳定可靠。对于有一定Java基础的学习者,还可以在此基础上进行扩展,实现更多个性化功能,满足不同的业务需求。本项目的成功实施,不仅能为学生提供一个高质量的毕业设计作品,同时也将为其未来的职业发展打下坚实的基础。

    基于HTML+CSS+JS开发的网站-在线教育培训服务响应式网页模板.7z

    解锁网页开发秘籍,这套源码集成了HTML的结构力量、CSS的视觉魔法、JavaScript的交互智慧、jQuery的效率工具箱及Bootstrap的响应式盔甲。从基础搭建到动态交互,一步到位。 HTML筑基,强化网页骨络; CSS妆点,让设计灵动多彩; JavaScript驱动,实现页面互动; jQuery加持,简化操作,加速开发; Bootstrap响应,适配多端,无缝浏览。 无论你是编程新手还是高手,这份资源都能带你深入前端世界的核心,实践中学以致用,创造既美观又强大的网页作品。立刻行动,激发你的前端创造力!

    基于Java实现的安卓游戏-猜地鼠游戏

    【作品名称】:基于Java实现的安卓游戏-猜地鼠游戏 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于Java实现的安卓游戏-猜地鼠游戏

    基于springboot+vue开发学校防疫物资管理平台的设计与实现boot--附毕业论文+源代码+sql(毕业设计).rar

    本项目基于Spring Boot和Vue技术,为学校打造了一个全方位的防疫物资管理平台。通过该平台,学校能够高效地进行防疫物资的采购、存储、分配与监控,确保物资供应的及时性与准确性。 平台的核心功能包括物资信息管理、库存管理、领用管理以及报表统计。其中,物资信息管理支持物资的录入、编辑和查询,库存管理实时更新物资的存储情况,领用管理记录物资的领取情况,而报表统计则提供直观的物资使用情况分析。 项目采用Spring Boot框架搭建后端服务,利用MySQL数据库进行数据存储,前端则采用Vue框架实现用户交互。开发环境包括JDK、IntelliJ IDEA和Tomcat服务器。项目已经过严格的调试,确保稳定运行。 此项目不仅可作为计算机相关专业学生的毕业设计或课程设计资源,也适合Java学习者进行实战练习。开发者可以在现有代码基础上进行扩展,实现更多功能,满足学校的个性化需求。

    用Python学数学全套资源(中英).zip

    用Python学数学全套资源(中英) 包括文字和代码,全套资料。

    uniapp版即时通讯软件 IM社交交友聊天系统 语音视频通话双端APP 聊天交友APP源码 (含搭建教程)-网盘链接下载

    源码太大1.1G 修复音视频(官方团队插件,无二次费用),文件发送,公告,签到,发现页,朋友圈删除,轮询客服,马甲等 可内嵌第三方网页连接,后台添加,带完整视频搭建教程 即时通讯聊天交友APP源码 IM带音视频源码。Uniapp前端编译,PHP后台, 安卓苹果APP源码+详细搭建视频。 前端开发语言:uniapp( 安卓,IOS,WEB共用一套前端代码,极大减小开发成本) 服务器端开发语言: PHP+WebSocket 数据库:MySql + mongodb 前端打包工具:Hbuilder 服务器搭建工具:宝塔+宝塔自带终端(或SSH) 服务器配置: 推荐2核4G宽带5兆以上 服务器系统:Linux Centos 7.6 64位

    HTML+CSS+JS+JQ+Bootstrap的产品制作团队动态响应式网页模板.7z

    解锁网页开发秘籍,这套源码集成了HTML的结构力量、CSS的视觉魔法、JavaScript的交互智慧、jQuery的效率工具箱及Bootstrap的响应式盔甲。从基础搭建到动态交互,一步到位。 HTML筑基,强化网页骨络; CSS妆点,让设计灵动多彩; JavaScript驱动,实现页面互动; jQuery加持,简化操作,加速开发; Bootstrap响应,适配多端,无缝浏览。 无论你是编程新手还是高手,这份资源都能带你深入前端世界的核心,实践中学以致用,创造既美观又强大的网页作品。立刻行动,激发你的前端创造力!

    基于HTML+CSS+JS开发的网站-鞋品特卖商城网页.7z

    大学生们,想让你的个人项目或作品集脱颖而出吗?这份超实用的网站源码合集,专为追求技术深度与创意边界的你定制! 从零到一,快速构建:结合HTML的坚实基础与CSS的视觉魔法,轻松设计出吸引眼球的网页界面。无论是扁平风还是 Material Design,随心所欲展现你的设计才华。 JavaScript实战演练:掌握web开发的“瑞士军刀”,实现炫酷的动态效果和用户交互。从基础语法到高级应用,每行代码都是你技术成长的足迹。 jQuery加速开发流程:用最简洁的代码实现复杂的操作,jQuery让你事半功倍。提升开发效率,把更多时间留给创意实现。 Bootstrap响应式布局:一码在手,多端无忧。学会Bootstrap,让你的作品在任何设备上都表现完美,无缝对接移动互联网时代。 实战经验,助力求职加薪:拥有这份源码宝典,不仅意味着技术的全面升级,更是简历上的亮点,让面试官眼前一亮,为实习、工作加分! 别等了,现在就开始你的前端探索之旅,用代码塑造未来,让梦想触网可及!

    基于HTML+CSS+JS开发的网站-在线瑜伽APP动态展示网页模板.7z

    探索全栈前端技术的魅力:HTML+CSS+JS+JQ+Bootstrap网站源码深度解析 在这个数字化时代,构建一个既美观又功能强大的网站成为了许多开发者和企业追逐的目标。本份资源精心汇集了一套完整网站源码,融合了HTML的骨架搭建、CSS的视觉美化、JavaScript的交互逻辑、jQuery的高效操作以及Bootstrap的响应式设计,全方位揭秘了现代网页开发的精髓。 HTML,作为网页的基础,它构建了信息的框架;CSS则赋予网页生动的外观,让设计创意跃然屏上;JavaScript的加入,使网站拥有了灵动的交互体验;jQuery,作为JavaScript的强力辅助,简化了DOM操作与事件处理,让编码更为高效;而Bootstrap的融入,则确保了网站在不同设备上的完美呈现,响应式设计让访问无界限。 通过这份源码,你将: 学习如何高效组织HTML结构,提升页面加载速度与SEO友好度; 掌握CSS高级技巧,如Flexbox与Grid布局,打造适应各种屏幕的视觉盛宴; 理解JavaScript核心概念,动手实现动画、表单验证等动态效果; 利用jQuery插件快速增强用户体验,实现滑动效果、Ajax请求等; 深入Bootstrap框架,掌握移动优先的开发策略,响应式设计信手拈来。 无论是前端开发新手渴望系统学习,还是资深开发者寻求灵感与实用技巧,这份资源都是不可多得的宝藏。立即深入了解,开启你的全栈前端探索之旅,让每一个网页都成为技术与艺术的完美融合!

    比亚迪车辆助手PC版 4.8.1(BYDCarHelper)可实现智能上电、智能锁车、远程控制、自动签到,以及自动同步比亚迪车况

    比亚迪车辆助手PC版是一款Windows电脑软件,可实现智能上电、智能锁车、远程控制、自动签到,以及自动同步比亚迪车况信息,例如:车型、车牌号、总里程、每日里程、总续航、剩余电量、剩余电量续航里程、剩余油量、剩余油量续航里程、最近50公里平均能耗、累计平均能耗、OK指示灯、整车状态、四个车轮胎压等等,而且可以自动生成“最近7天能耗趋势图、最近7天能续航趋势图、最近7天能总里程趋势图”,解决以往只有车机才能看到这些统计报表的问题,以上数据可以通过钉钉/飞书群机器人,自动推送到你的手机/PC钉钉或飞书查看,支持比亚迪大部分车型。 主要功能 支持车况信息同步(大部分信息都支持) 支持统计报表(自动生成“能耗趋势图、续航趋势图、总里程趋势图”) 支持钉钉群机器人,自动推送到你的手机/PC钉钉查看 支持飞书群机器人,自动推送到你的手机/PC飞书查看 支持免打扰功能(如果最新数据与上次相同,或者车辆不是熄灭状态,将不会推送到钉钉/飞书群,避免骚扰用户) 支持自动获取比亚迪Cookie(不需要抓包,且支持自动续期Cookie,支持Cookie WebHook与其它设备共享) 支持远程控制(例如:车

    奶酪单词-串词成文-2024-06-28-20:50:16.pdf

    奶酪单词-串词成文-2024-06-28-20:50:16.pdf

    app-release-1.apk (1).zip

    app-release-1.apk (1).zip

    基于springboot+vue开发大学生创新创业项目管理系统--附毕业论文+源代码+sql(毕业设计).rar

    本项目是一个基于Spring Boot和Vue开发的大学生创新创业项目管理系统,旨在为计算机相关专业的学生提供一个实践平台,同时也为Java学习者提供了实战练习的机会。项目资源包括完整的项目源码、数据库脚本以及详细的开发说明,并附有参考文献,可直接用于毕业设计。 系统采用Spring Boot框架搭建后台,利用其快速开发、便捷部署的特性,简化了企业级应用的开发流程。前端则采用Vue框架,实现了响应式布局和丰富的交互功能,提升了用户体验。数据库选用MySQL,稳定可靠,且易于扩展。 开发环境配置简单,仅需JDK、IntelliJ IDEA和Tomcat即可运行。项目已通过严格调试,确保无误。对于有一定基础的开发者,还可以在此基础上进行二次开发,实现更多个性化功能。 本项目的成功实施,不仅能为学生带来实质性的帮助,也能为Java开发者提供宝贵的实践经验和学习资源。

    android通话时间统计器[实例,源代码]

    android通话时间统计器[实例,源代码]

    伴热电缆,2023年前20大企业占据全球63.4%的市场份额.docx

    伴热电缆,2023年前20大企业占据全球63.4%的市场份额.docx

    基于HTML+CSS+JS开发的网站-物流运输查询动态响应式网页.7z

    解锁网页开发秘籍,这套源码集成了HTML的结构力量、CSS的视觉魔法、JavaScript的交互智慧、jQuery的效率工具箱及Bootstrap的响应式盔甲。从基础搭建到动态交互,一步到位。 HTML筑基,强化网页骨络; CSS妆点,让设计灵动多彩; JavaScript驱动,实现页面互动; jQuery加持,简化操作,加速开发; Bootstrap响应,适配多端,无缝浏览。 无论你是编程新手还是高手,这份资源都能带你深入前端世界的核心,实践中学以致用,创造既美观又强大的网页作品。立刻行动,激发你的前端创造力!

Global site tag (gtag.js) - Google Analytics