首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

自定义的if_else标签。这样可以吗?解决方法

2012-03-17 
自定义的if_else标签。。。这样可以吗?以下是我自己写的标签处理器类,用来实现嵌套的if_else,如my:choosem

自定义的if_else标签。。。这样可以吗?
以下是我自己写的标签处理器类,用来实现嵌套的if_else,如
<my:choose>
  <my:if condition="...">
  ...
  </my:if>
  <my:else>
  <my:choose>
  <my:if condition="...">
  ...
  </my:if>
  <my:else>
  ...
  </my:else>
  </my:choose>
  </my:else>
<my:choose>
但实际使用的时候结果并不正确,请问是我的标签处理器写得有问题吗?

Java code
public class MyChooseTag extends BodyTagSupport{    private boolean executed;    public void setExecuted(boolean ed){        this.executed=ed;    }    public boolean getExecuted(){        return executed;    }    public int doStartTag() throws JspException{        executed=false;        return EVAL_BODY_INCLUDE;    }    public int doEndTag() throws JspException{        return EVAL_PAGE;    }}public class MyIfTag extends BodyTagSupport{    private boolean condition;    public void setCondition(boolean condition){        this.condition=condition;    }    public int doStartTag() throws JspException{        MyChooseTag parent=(MyChooseTag)this.getParent();        if(condition){            parent.setExecuted(true);            return EVAL_BODY_INCLUDE;        }        else{            parent.setExecuted(false);            return SKIP_BODY;        }    }    public int doEndTag() throws JspException{        return EVAL_PAGE;    }}public class MyElseTag extends BodyTagSupport{    public int doStartTag() throws JspException{        MyChooseTag parent=(MyChooseTag)getParent();            if(parent.getExecuted()){                return SKIP_BODY;            }            else{                return EVAL_BODY_INCLUDE;            }        }}

求教啊……多谢多谢!!

[解决办法]
EL 表达式是从作用域取值吧,你这个算什么意思
[解决办法]
主要是检查下是不是启用了EL为啥没生效。

热点排行