A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 黑马晓志 中级黑马   /  2014-5-6 21:29  /  951 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马晓志 于 2014-5-7 07:50 编辑

ChooseTahg中没有初始化isDo,为什么WhenTag类按照isDo是false来处理。
WhooseTag
  1. package com.xiaozhi.web.tag;

  2. import java.io.IOException;

  3. import javax.servlet.jsp.JspException;
  4. import javax.servlet.jsp.tagext.SimpleTagSupport;

  5. public class ChooseTag extends SimpleTagSupport {

  6.         private boolean isDo;
  7.        
  8.        
  9.         public boolean isDo() {
  10.                 return isDo;
  11.         }

  12.         public void setDo(boolean isDo) {
  13.                 this.isDo = isDo;
  14.         }

  15.         @Override
  16.         public void doTag() throws JspException, IOException {
  17.                 this.getJspBody().invoke(null);
  18.         }
  19. }
复制代码

WhenTag.java
  1. package com.xiaozhi.web.tag;

  2. import java.io.IOException;

  3. import javax.servlet.jsp.JspException;
  4. import javax.servlet.jsp.tagext.SimpleTagSupport;

  5. public class WhenTag extends SimpleTagSupport {

  6.         private boolean test;
  7.        
  8.         public void setTest(boolean test) {
  9.                 this.test = test;
  10.         }

  11.         @Override
  12.         public void doTag() throws JspException, IOException {
  13.                 ChooseTag parent=(ChooseTag) this.getParent();
  14.                 if(test && !parent.isDo())
  15.                 {
  16.                         this.getJspBody().invoke(null);
  17.                         parent.setDo(true);
  18.                 }               
  19.         }
  20. }
复制代码



您需要登录后才可以回帖 登录 | 加入黑马