JSTL标签

来源
jsp中有大量<% %>java片段
jsp中html标签+jsp标签+java片段
提出
把<% %>java片段用标签替换



C标签
<c:out>标签
最常用的标签,用于在 JSP 中显示数据
< c:out  value = "hello world"  ></ c:out >
< h1 >  如何输出request/session/application/pageContext域对象的内容  </ h1 >
<!--获取“abc”中的值,如果获取不到,默认值就是“hello”,escapeXml=false使得“abc”取到的文字中的html标签可用
false【html形式】,true【文本形式】-->
< c:out  value = "  ${abc} "  default  = "hello"  escapeXml = "false"  ></ c:out >
<%
              //如果域对象中有相同的属性名,c:out的优先级是
              //pageContext > request > session > application
            request.setAttribute(  "abc" , "你好1<a href='http://www.baidu.com'>baidu</a>" );
            session.setAttribute(  "abc" , "你好2"  );
            application.setAttribute(  "abc" , "你好3"  );
            pageContext.setAttribute(  "abc" , "你好4"  );
%>
获取一个对象的元素
<!-- 如下两种方式等价 -->
< c:out  value = "  ${xm.name} " ></  c:out >
${xm.age}
${xm.age}  等价于 ((User)request.getAttribute("xm")).getAge()
<%             
            User u =  new  User();
            u.setName(  "小明" );
            u.setAge(22);
            request.setAttribute(  "xm" ,u);
%>
 
<c:set>标签
<!-- 等价于request.setAttribute("abc","中国,北京") -->
< c:set  var = "abc"  value = "中国,北京"  scope  = "request" ></  c:set >
 
<c:remove>标签
<!-- 等价于request.setAttribute(" abc ","中国,北京") -->
< c:set  var = "a"  value = "中国,北京"  scope  = "request" ></  c:set >
< c:out  value = "  ${a} " ></  c:out >
<c:remove var="a" scope="request"></ c:remove>
< c:out  value = "  ${a} "  default  = "没有了" ></  c:out >
 
<c:catch>标签
< c:catch  var = "myexception"  >
<% int  a = 8/0;  %>
</ c:catch >
<!-- 打印出捕获的异常  -->
< c:out  value = "  ${myexception.message} " ></  c:out >
 
<c:if>标签
              <!-- 等价于request.setAttribute(a,"hello") -->
              < c:set  var = "a"  value = "hello"  scope = "request"  ></ c:set >
              <!-- 等价于request.setAttribute(age,23) -->
              < c:set  var = "age"  value = "23"  scope = "request"  ></ c:set >    

              <!-- 如果a == 'hello'就输出ACK! 否则输出NCK! -->
             <c:if test=" ${a == 'hello'}"> ACK!</c:if >
              < c:if  test = "  ${a != 'hello'} " >  NCK! </ c:if  >
            
              <!--数值判断  -->
              <c:if test=" ${age == 23}"> 23岁</c:if >
              < c:if  test = "  ${age >=18} " >  已经成年 </ c:if  >
            
              <!--获取一个对象的属性  -->
             <c:if test=" ${u.name == 'micky'}">
                    < c:out  value = "  ${u.age} " ></  c:out >
              </ c:if >
              <%
                  User user =  new  User();
                  user.setName(  "micky" );
                  user.setAge(1);
                  request.setAttribute(  "u" ,user);
              %>     
 
<c:choose><c:when><c:otherwise>标签
             <c:choose>
                   <c:when test=" ${rat.age < 2}">
                          < font  color = "red"  > 娃娃 </  font >
                    </c:when>
                    < c:when  test = "  ${rat.age >=2  and  rat.age < 5}  " >
                          < font  color = "blue"  > 壮年 </  font >
                    </ c:when >
                    < c:otherwise >
                          < font  color = "green"  > 老年 </  font >
                    </ c:otherwise >
              </c:choose>
              <%
                  User u =  new  User();
                  u.setName(  "rat" );
                  u.setAge(10);
                  request.setAttribute(  "rat" ,u);
              %>
 
<c:foreach>标签
             <!--取出array,并把没次取出来的元素放在变量a  -->
              < c:forEach  items = "  ${array} "  var  = "a" >
                    < c:out  value = "  ${a.name} " ></  c:out >
                    < c:out  value = "  ${a.age} " ></  c:out >
              </ c:forEach >
            
              <!-- 从1-10依次打印 -->
              < c:forEach  begin = "1"  end = "10"  var = "i"  >
                    < c:out  value = "  [ ${i} ]  " ></ c:out  >
              </ c:forEach >

              <!-- 从1-10隔3打印 -->
              < c:forEach  begin = "1"  end = "10"  step = "3"  var = "i" >
                    < c:out  value = "  [ ${i} ]  " ></ c:out  >
              </ c:forEach >
              <%
                  ArrayList<User> al =  new  ArrayList<User>();
                  User u1 =  new  User();
                  u1.setName(  "老大" );
                  u1.setAge(30);
                  
                  User u2 =  new  User();
                  u2.setName(  "老二" );
                  u2.setAge(25);
                  
                  User u3 =  new  User();
                  u3.setName(  "老三" );
                  u3.setAge(20);
                  
                  al.add(u1);
                  al.add(u2);
                  al.add(u3);
                  
                  request.setAttribute(  "array" ,al);
              %>
 
<c:forToken>标签
<!-- 从items中从0-7,隔2取出数据放入tmp,分隔符是‘,’ -->
< c:forTokens  items = "a,b,c,d,e,f,g"  begin = "0"  end = "7"  step = "2"  delims = ","  var = "tmp"  >
    ${ tmp}
</ c:forTokens >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值