statetransitionrule.java

来自「OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布」· Java 代码 · 共 34 行

JAVA
34
字号
package com.opensymphony.module.sitemesh.html;public class StateTransitionRule extends BasicRule {    private final State newState;    private final boolean writeEnclosingTag;    private State lastState;    public StateTransitionRule(String tagName, State newState) {        this(tagName, newState, true);    }    public StateTransitionRule(String tagName, State newState, boolean writeEnclosingTag) {        super(tagName);        this.newState = newState;        this.writeEnclosingTag = writeEnclosingTag;    }    public void process(Tag tag) {        if (tag.getType() == Tag.OPEN) {            lastState = context.currentState();            context.changeState(newState);            newState.addRule(this);        } else if (tag.getType() == Tag.CLOSE && lastState != null) {            context.changeState(lastState);            lastState = null;        }        if (writeEnclosingTag) {            tag.writeTo(context.currentBuffer());        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?