multipassreplacementpageparser.java
来自「一个jsp网页布局框架」· Java 代码 · 共 39 行
JAVA
39 行
package com.opensymphony.module.sitemesh.multipass;import com.opensymphony.module.sitemesh.PageParser;import com.opensymphony.module.sitemesh.Page;import com.opensymphony.module.sitemesh.html.util.CharArray;import com.opensymphony.module.sitemesh.html.HTMLProcessor;import com.opensymphony.module.sitemesh.html.BasicRule;import com.opensymphony.module.sitemesh.html.Tag;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class MultipassReplacementPageParser implements PageParser { private final Page page; private final HttpServletResponse response; public MultipassReplacementPageParser(Page page, HttpServletResponse response) { this.page = page; this.response = response; } public Page parse(char[] data) throws IOException { final CharArray result = new CharArray(4096); HTMLProcessor processor = new HTMLProcessor(data, result); processor.addRule(new BasicRule("sitemesh:multipass") { public void process(Tag tag) { String id = tag.getAttributeValue("id", true); if (!page.isPropertySet("_sitemesh.removefrompage." + id)) { currentBuffer().append(page.getProperty(id)); } } }); processor.process(); result.writeTo(response.getWriter()); return null; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?