用于JAVA的JSP和HTML解析器

用于JAVA的JSP和HTML解析器,java,parsing,jsp,jsoup,jericho-html-parser,Java,Parsing,Jsp,Jsoup,Jericho Html Parser,我一直在使用Jsoup解析我的HTML文件,到目前为止,它做得很好。但是,它无法解析任何服务器标记()。我决定扩展它,但是我找不到一个简单的方法来扩展它和所有那些私有/包级别的类(例如TreeBuilder、TransitionState等等) 因此,我开始研究它声称可以解析服务器标签——然而,它的文档太差了,我甚至无法轻松入门。而且它的API似乎不像Jsoup提供的那么友好-提取一些节点并移动它并不是那么简单 我想知道以前是否有人遇到过类似的情况,你是如何解决的?简而言之,我只想用Java解析

我一直在使用Jsoup解析我的HTML文件,到目前为止,它做得很好。但是,它无法解析任何服务器标记()。我决定扩展它,但是我找不到一个简单的方法来扩展它和所有那些私有/包级别的类(例如TreeBuilder、TransitionState等等)

因此,我开始研究它声称可以解析服务器标签——然而,它的文档太差了,我甚至无法轻松入门。而且它的API似乎不像Jsoup提供的那么友好-提取一些节点并移动它并不是那么简单


我想知道以前是否有人遇到过类似的情况,你是如何解决的?简而言之,我只想用Java解析JSP文件。(嗯..请不要要求我自己实现一个;p)

最后,我得到了一个解决方法:将服务器代码块放在HTML注释块中,以便1)服务器代码可以正确执行;2) Jsoup可以将整个块作为一个HTML注释节点进行处理,而不涉及其中的任何内容

e、 g


... html内容

它现在对我很管用!希望遇到同样问题的ppl能得到一些帮助!;)

您是否只需要访问jsp标记和Scriptlet,或者还需要访问已解析的html?对于一个实际的jsp解析器来说,html代码只是传递的文本,没有任何解释。实际上我想要的是1)读取jsp文件,2)修改html内容,3)将其写入一个新的jsp文件(jsp脚本和标记应该被保留)。但是Jsoup无法做到这一点。我的理解是,如果jsp修改页面,这将不起作用
<!--
<%@ page language="java" errorPage="/error.jsp" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@ page import="com.systemcrossed.groupbuystart.webapp.display.DisplayHelper" %>
<%@ page import="com.systemcrossed.groupbuystart.webapp.util.JsonUtil" %>
<%@ page import="org.apache.commons.lang.StringEscapeUtils" %>
<%@ include file="/_sys/pages/public/incl/jspCommon.jsp" %>
-->
<!--<%
    // Java code here
%>-->
<html>
<head>
    ... html stuff