Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以使用SiteMesh提取脚本标记?_Java_Api_Decorator_Sitemesh - Fatal编程技术网

Java 是否可以使用SiteMesh提取脚本标记?

Java 是否可以使用SiteMesh提取脚本标记?,java,api,decorator,sitemesh,Java,Api,Decorator,Sitemesh,我有生成一些HTML内容的自定义JSP标记,以及一些由该HTML代码调用的javascript函数。在当前的实现中,脚本标记创建在HTML代码的正上方 为了避免修改现有的代码库,我想使用SiteMesh或其他一些装饰工具在页面的标题部分中调出这些脚本 我知道SiteMesh可以从元素中提取内容,但我想知道是否也可以使用其他标记,例如脚本 这在SiteMesh中是可能的,或者知道有什么工具可以让我这样做吗 谢谢大家! SiteMesh是可扩展的,因此您可以通过扩展HTMLPageParser添加自

我有生成一些HTML内容的自定义JSP标记,以及一些由该HTML代码调用的javascript函数。在当前的实现中,脚本标记创建在HTML代码的正上方

为了避免修改现有的代码库,我想使用SiteMesh或其他一些装饰工具在页面的标题部分中调出这些脚本

我知道SiteMesh可以从
元素中提取内容,但我想知道是否也可以使用其他标记,例如脚本

这在SiteMesh中是可能的,或者知道有什么工具可以让我这样做吗

谢谢大家!

SiteMesh是可扩展的,因此您可以通过扩展HTMLPageParser添加自己的自定义规则来提取
元素,如下所示:

import com.opensymphony.module.sitemesh.parser.HTMLPageParser;

public CustomPageParser extends HTMLPageParser {

    protected void addUserDefinedRules(State html, PageBuilder page) {
        super.addUserDefinedRules(html, page);

        html.addRule(new ScriptExtractingRule(page));
    }

}
我设想您的ScriptExtractingRule将以标准SiteMesh为模型,将内容存储在页面上下文中,以便您的装饰程序可以像访问
块一样访问这些块