在Java上实现jsp:include

在Java上实现jsp:include,java,file,recursion,pattern-matching,Java,File,Recursion,Pattern Matching,我想从给定的文件(即a.html)开始,如果我看到这样的模式: <!--$include file="b.html"--> 我将进入该文件(b.html)并获取它所拥有的任何内容,所有文件都将写入最终文件(即output.html) 如果我在b.html中看到一个include,我也应该遵循这个include并获取它所拥有的一切,我应该在Java中递归地重复它 有什么想法吗 PS:它与jsp:include类似,但我想自己实现它。我将把它实现为一个Maven插件,并根据我的需要

我想从给定的文件(即a.html)开始,如果我看到这样的模式:

<!--$include file="b.html"-->

我将进入该文件(b.html)并获取它所拥有的任何内容,所有文件都将写入最终文件(即output.html)

如果我在b.html中看到一个include,我也应该遵循这个include并获取它所拥有的一切,我应该在Java中递归地重复它

有什么想法吗

PS:它与jsp:include类似,但我想自己实现它。我将把它实现为一个Maven插件,并根据我的需要构建了一个Maven插件,然而使用递归与否,使用正则表达式模式或任何其他有效的方法是我所寻找的

  • 您需要创建一个函数来获取文件列表,例如
    getFileList(htmlFile:File):File[]
  • 创建一个
    readline
    函数,并创建一个函数来解析模式类似于
    “^.*.*$”
    的行,这是一个正则表达式,它可以匹配您搜索的正则表达式。让我们将函数名定义为
    checkRule(行:String):boolean
  • 如果
    checkRule
    返回true并获取文件名,则通过传递刚刚找到的文件名递归调用
    getFileList
  • 注意无限循环。例如,
    a.html
    包含
    b.html
    ,而
    b.html
    包含
    a.html
    ,它将成为无限循环。因此,您需要选中文件列表以忽略该文件

  • 祝你好运

    有什么想法吗?听起来很棒!您还有其他问题吗?请尝试查找jsp的
    include
    指令?听起来正是你要找的。。。(或来自asp或php的相同内容…)