java使用jodd操作html

简介: java使用jodd操作html


快乐就像香水,不是泼在别人身上,而是洒在自己身上。——拉尔夫·沃尔多·爱默生

https://github.com/oblac/jodd

https://jodd.org/

Jodd 是一个开源的 Java 工具库,提供了一系列简化和增强 Java 开发的工具,包括但不限于对象操作、数据库连接、邮件发送等功能。JerryParser 是 Jodd 中处理 HTML 的重要工具。

JerryParser 基于 CSS 选择器,允许开发者使用类似 jQuery 的语法来查找、修改和操纵 HTML 元素。这样的设计使得处理 HTML 文档就像在编写 jQuery 脚本一样简单。

主要功能:

  • 查找元素:通过 CSS 选择器快速定位页面上的元素。
  • 修改内容:轻松添加、删除或修改元素的内容和属性。
  • 事件处理:支持基本的事件绑定,如点击、加载等。

安装:

首先,确保你的项目中已经包含了 Jodd 库。如果还没有,可以通过 Maven 添加依赖:

<dependency>
    <groupId>org.jodd</groupId>
    <artifactId>jodd-all</artifactId>
    <version>最新版本号</version>
</dependency>

基本用法

解析一个简单的 HTML 页面

import jodd.jerry.Jerry;
import jodd.lagarto.dom.Node;
public class Main {
    public static void main(String[] args) {
        String html = "<html><head><title>Test</title></head>"
                      + "<body><p id='p1'>Hello, world!</p><a href='http://example.com'>Link</a></body></html>";
        Jerry doc = Jerry.jerry(html);
        String title = doc.$("title").text();
        System.out.println("Title: " + title);
        Jerry paragraph = doc.$("#p1");
        System.out.println("Paragraph text: " + paragraph.text());
        Jerry link = doc.$("a");
        System.out.println("Link: " + link.attr("href"));
    }
}

输出结果:

Title: Test
Paragraph text: Hello, world!
Link: http://example.com

使用 CSS 选择器修改 HTML

Jerry doc = Jerry.jerry(html);
doc.$("body").append("<div>New Div</div>");
System.out.println(doc.html());

这将在 <body> 标签内添加一个新的 <div>

绑定事件

doc.$("a").on("click", new JerryFunction() {
    @Override
    public boolean onEvent(Jerry $this, JerryEvent event) {
        System.out.println("Clicked: " + $this.attr("href"));
        return true;
    }
});
相关文章
|
5月前
|
Java BI 数据处理
如何在Java中实现Excel操作
如何在Java中实现Excel操作
|
6月前
|
存储 Java
java用modbus4j的RTU去操作那些寄存器(线圈,保持,输入,离散输入寄存器)
java用modbus4j的RTU去操作那些寄存器(线圈,保持,输入,离散输入寄存器)
224 0
|
6月前
|
Java 数据库 数据安全/隐私保护
Java操作Excel文件导入导出【内含有 jxl.jar 】
Java操作Excel文件导入导出【内含有 jxl.jar 】
88 0
|
3月前
|
XML JavaScript Java
NekoHTML 是一个基于Java的HTML扫描器和标签补全器
**NekoHTML** 是一个基于Java的HTML扫描器和标签补全器(tag balancer),由J. Andrew Clark开发。它主要用于解析HTML文档,并能够“修正”许多在编写HTML文档过程中常犯的错误,如增补缺失的父元素、自动用结束标签关闭相应的元素,以及处理不匹配的内嵌元素标签等。这使得程序能够以标准的XML接口来访问HTML文档中的信息。 ### NekoHTML的主要特点包括: 1. **错误修正**:能够自动修正HTML中的常见错误,如未闭合的标签等。 2. **DOM树生成**:将HTML源代码转化为DOM(Document Object Model)结构,便
|
5月前
|
存储 Java 索引
Java ArrayList操作指南:如何移除并返回第一个元素
通过上述方法,你可以方便地从Java的 `ArrayList` 中移除并返回第一个元素。这种操作在日常编程中非常常见,是处理列表时的基本技能之一。希望这篇指南能帮助你更好地理解和运用Java的 `ArrayList`。
60 4
|
5月前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之使用ODPS Tunnel Upload功能时,遇到报错:Java 堆内存不足,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
SQL 缓存 Java
使用MyBatis优化Java持久层操作
使用MyBatis优化Java持久层操作
|
5月前
|
Java API 开发者
Java中的文件I/O操作详解
Java中的文件I/O操作详解
|
5月前
|
Java BI 数据处理
如何在Java中实现Excel操作
如何在Java中实现Excel操作
|
6月前
|
Java
使用kafka-clients操作数据(java)
使用kafka-clients操作数据(java)
125 6