jstl标签库

61 篇文章 0 订阅
26 篇文章 0 订阅

若是记不清了,直接打开 jstl.jar META-INF下面的c.tld文件。便可以查看具体声明的标签。

jsp上方:

<%@taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>导入

1.<c:out value="<a href=''>点</a>" default="未有输入值" escapeXml="true" ></c:out>

若输出值为空,则打印default中值,escapeXml若为true,则将待打印的部分转义。

    <c:out value="<a href='#'>点我</a>"  escapeXml="true"></c:out>
    <a href='#'>点我</a>
    <%
    	request.setAttribute("data",null);
    %>
    <c:out value="${data}" default="aaa"  escapeXml="true"></c:out>

2.<c:set></c:set>可以给 javabean ,map 或者某个域(比如request) 的属性赋值。

它还可以获取request传入的参数,并对request设置属性,如:

	<%
	  String credit=request.getParameter("credit");
	  request.setAttribute("credit", credit);
	%>
	<c:set var="credit" scope="request" value="${param.credit}"></c:set>

与此对应的还有<c:remove  var="varName" scope="{page|request|session|application}">移除某个域中的属性。

    <%
    	request.setAttribute("aaa", 123);
    %>
    <c:set var="data" scope="request" value="234">
    </c:set>
    ${aaa}
    
    <%
        	Stu s=new com.Stu();
            request.setAttribute("s", s);
     %>
    <c:set target="${s}" property="name" value="hhh"></c:set>
    ${s.name}
    
    <%
     Map map=new HashMap(); 
     request.setAttribute("map", map);
     %>
    <c:set target="${map}" property="w" value="h"></c:set>
    ${map.w}

3.<c:catch>用与捕获异常,并存在var中,可以打印出来

   <c:catch var="excep">
   <%
     int i=1/0;
    %>
   </c:catch>
    
    ${excep.message}
4.<c:if>标签,可以把结果保存到某个域,把test表达式结果赋给var中的变量,在scope域中
    <c:if test="true" var="re" scope="request"></c:if>
    ${re}

5.<c:choose>标签,类似switch case

6.<c:forEach>是可以遍历list的,里面有step步长,开始index(begin)与结束index(end)。

同时,可以设置每次遍历的样式,varStatus保存的值有 count 属性,记录当前是第几次遍历。

    <%
    	List<String> list =new ArrayList<String>();
    	list.add("a");
    	list.add("b");
    	list.add("c");
    	list.add("d");
    	list.add("e");
    	list.add("f");
    %>
	<c:set var="list" scope="request" value="<%=list %>"></c:set>

    <style>
       .odd{background-color:#FF99FF;}
       .even{background-color:#FF6633;}
       tr:HOVER{background-color:#0000FF;}
     </style>
     
   <table border="1" width="30%">
       <c:forEach items="${list}" var="obj" step="1" begin="0" end="8" varStatus="times">   
      	 <tr class="${times.count%2==0?'odd':'even'}"><td>${obj}</td></tr>
       </c:forEach>
    </table> 
若是无法支持tr:hover 则需要修改文档声明,将其修改为较高版本的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
7.<c:param>嵌套在<c:url> 或<c:redirect>标签内,携带参数
8.<c:url>标签

<c:url>标签可以对链接加上项目名称,并且可以携带为中文的参数,对其进行编码。

    <c:url var="in" value="/index.jsp">
    	<c:param name="name" value="中国"></c:param>
    </c:url>
    <a href="${in}">点我</a>

9.<c:redirect>标签,可以实现重定向。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值