使用简单标签模拟标签(c:if c:when c:otherwise c:foreach)

使用简单标签模拟标签(c:if   c:when  c:otherwise  c:foreach)


      1、   模拟c:if标签
              *******************************************************************************************
                    ----------------------------------------------------------------------------------------------------
                    <%@ taglib uri="http://www.itcast.cn/jsp/tag/example" prefix="eitcast" %>
                    <body>
                            <%
                            pageContext.setAttribute("gender","1");
                            %>
                          <eitcast:if test="${gender=='1'}">
                            男
                          </eitcast:if>
                          <eitcast:if test="${gender=='0'}">
                            女
                          </eitcast:if>    
                    </body>
                    ----------------------------------------------------------------------------------------------------
                    public class IfSimpleTag extends SimpleTagSupport {
                            private boolean test;  // 基本类型自动转换
                            public void setTest(boolean test) {
                                    this.test = test;
                            }
                            @Override
                            public void doTag() throws JspException, IOException {
                                    if(test){
                                            // 获取主体内容
                                            getJspBody().invoke(null);
                                    }
                            }
                    }
                    ----------------------------------------------------------------------------------------------------
                    <tag>
                          <name>if</name>
                          <tag-class>cn.itcast.etag.IfSimpleTag</tag-class>
                          <body-content>scriptless</body-content>
                          <attribute>
                                  <name>test</name>
                                  <required>true</required>
                                  <rtexprvalue>true</rtexprvalue>
                          </attribute>
                    </tag>
                    ----------------------------------------------------------------------------------------------------
              *******************************************************************************************
              
              
              
              
       2、 模拟c:if/else标签(嵌套标签when   otherwise)              
              *******************************************************************************************
                    ----------------------------------------------------------------------------------------------------
                    <%@ taglib uri="http://www.itcast.cn/jsp/tag/example" prefix="eitcast"%>
                    <body>
                              <%
                              pageContext.setAttribute("grade","A");
                              %>
                              <eitcast:choose>     
                                      <eitcast:when test="${grade=='A'}">
                                              优秀
                                      </eitcast:when>
                                      <eitcast:otherwise>
                                              一般般
                                      </eitcast:otherwise>
                              </eitcast:choose>
                    </body>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值