📄 switchtag.java
字号:
package org.sunxin.lesson.jsp.ch15;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class SwitchTag extends TagSupport
{
//boolean类型的变量,用于判断子标记是否已经执行。
private boolean subTagExecuted;
public SwitchTag()
{
subTagExecuted=false;
}
public int doStartTag() throws JspException
{
//当遇到<switch>的起始标记时,子标记还没有开始执行,
//所以将subTagExecuted设置为false。 subTagExecuted = false; return EVAL_BODY_INCLUDE; }
/**
*这个方法由子标记处理器对象调用,用于判断是否可以执行自身的标记体。
*/
public synchronized boolean getPermission()
{ return (!subTagExecuted); }
/**
*如果其中一个子标记满足了条件,则调用这个方法,通知父标记。
*这样,其它的子标记将忽略它们的标记体,从而实现switch...case功能。
*/
public synchronized void subTagSucceeded()
{ subTagExecuted = true; }
public void release()
{
subTagExecuted=false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -