JSP自定义标签JSTL标签库

Posted 小菜鸟yjm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP自定义标签JSTL标签库相关的知识,希望对你有一定的参考价值。

				JSTL标签库的几个常用标签例子

要想在web开发中使用JSTL标签库必须得在web应用程序的WEB-INF/lib目录下导入jstl.jar和standard.jar.

不知道为什么会出现<span>,亲们直接忽略就是了。代码都运行通过,希望对大家有些指导意义。

<c:if>

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!--默认值,不能更改 -->
<html>
  <head>
  </head>
  
  <body>
  	<!-- test="" 条件表达式  var="varName" 存放条件表达式值的变量 scope="page|request|session|application"-->
  	<!-- 满足条件时将执行的代码段 -->
   <c:if test="$param.name=='yjm'" var="result">
   			hello,yjm!
   </c:if>
   		条件判断结果为:$result
  </body>
</html>

<c:forEach>

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!--默认值,不能更改 -->
<html>
  <head>
  
    
    <title>My JSP 'ForEach.jsp' starting page</title>

  </head>
  
  <body>
    	<%
    		String[] users = "admin","liubin","guest","user1";
    		request.setAttribute("users",users);
    	%>
    	<table border=1 width=500>
    		<tr align=center bgcolor=#dddddd>
    			<td>内容</td>
    			<td>索引值</td>
    			<td>共访问过</td>
    			<td>是否为第一个成员</td>
    			<td>是否是最后一个成员</td>
    		</tr>
    		<!-- items="collection" collection 代表要被遍历的集合-->
    		<!-- begin="begin" 开始的位置,必须大于或等于0
    			 end="end" 结束位置,默认为最后一个成员
    			 step="step" 每次循环的增量值,默认为1
    			 var="varname" 指向对当前成员的引用
    			 varStatus="varStatus" 存放当前成员的变量,常用的四个
    				index:当前成员的索引
    				count:共访问过的成员总数
    				first:当前成员是否为第一个成员
    				last:当前成员是否为最后一个成员
    		 -->
    		<c:forEach items="$users" var="user" varStatus="s">
    			<tr align=center>
    				<td><c:out value="$user"/></td>
    				<td><c:out value="$s.index"/></td>
    				<td><c:out value="$s.count"/></td>
    				<td><c:out value="$s.first"/></td>
    				<td><c:out value="$s.last"/></td>
    			</tr>
    		</c:forEach>
    	</table>
    	
    	<c:forEach var="num" begin="1" end="9" step="2">
    		<c:out value="$num"/>的平房是:
    		<c:out value="$num*num"/><br>
    	</c:forEach>
  </body>
</html>

<c:choose>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!--默认值,不能更改 -->
<html>
  <head>
   
  </head>
  
  <body>
    <%
    	Random rnd = new Random();
    	Integer luck = new Integer(rnd.nextInt(10));
    	pageContext.setAttribute("luck",luck);
    %>
    <c:choose>
    	<!-- test="condition" condition为真时执行里面的代码 -->
    	<c:when test="$luck==1">恭喜你中了一等奖!</c:when>
    	<c:when test="$luck==2">恭喜你中了二等奖!</c:when>
    	<c:when test="$luck==3">恭喜你中了三等奖!</c:when>
    </c:choose>
  </body>
</html>

<c:forTokens>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
  <head>
   
  </head>
  
  <body>
  	<%
  		String users="admin#liubin#yjm#guest#user";
  		request.setAttribute("users",users);
  	%>
  	<table border=1 width=500>
    		<tr align=center bgcolor=#dddddd>
    			<td>内容</td>
    			<td>索引值</td>
    			<td>共访问过</td>
    			<td>是否为第一个成员</td>
    			<td>是否是最后一个成员</td>
    		</tr>
    		<!-- c:fortakens 和 forEach 类似,唯一的确别在于delims属性 -->
    		<c:forTokens items="$users" delims="#" var="user" varStatus="s">
    			<tr align=center>
    				<td><c:out value="$user"/></td>
    				<td><c:out value="$s.index"/></td>
    				<td><c:out value="$s.count"/></td>
    				<td><c:out value="$s.first"/></td>
    				<td><c:out value="$s.last"/></td>
    			</tr>
    		</c:forTokens>
    </table>
  </body>
</html>

 <c:import>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
  <head>
    
  </head>
  
  <body>
  		<h2>import 标签应用实例</h2>
  		<!--c:import url="url" content="content" 包含同一个容器上的其他应用程序中的文件,以/开头
  		 var="varname" 存放被包含文件内容的变量    scope="page|request|session|application var变量的作用范围" 
  		 charEncoding="utf-8" 包含文件内容的编码方式-->
  		 
  		<c:import url="http://www.xiaomi.com" var="result"/>
  		<br/>
  		http://www.xiaomi.com的解析结果为:<br>
  		<textarea rows="70" cols="150">$result</textarea>
  		<c:import url="If.jsp" var="result">
  			<c:param name="name" value="yjm"/>
  		</c:import>	
		<br>
		<br>
		If.jsp?name=yjm 的解析结果为:<br>
		  <textarea rows="40" cols="100">$result</textarea>
  
  
  </body>
</html>

                               <c:url>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
  <head>
   

  </head>
  
  <body>
   		<c:url value="If.jsp" var="myurl"></c:url>
   		<a href="$myurl">if标签应用示例</a>
   		<c:url value="If.jsp" var="myurl">
   			<c:param name="name" value="yjm"/>
   		</c:url>
   		产生的URL内容为:$myurl<br><br>
   		<a href="<c:url value="http://www.xiaomi.com"/>">小米网</a> 
   
  </body>
</html>
        <c:redirect>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
  <head>
   

  </head>
  
  <body>
 	
 		<c:redirect url="If.jsp">
 			<c:param name="name" value="yjm"/>
 		</c:redirect>
 		<!-- 下面的代码将不再执行 -->
 		<c:redirect url="if.jsp"></c:redirect>
 	
 	
  </body>
</html>


以上是关于JSP自定义标签JSTL标签库的主要内容,如果未能解决你的问题,请参考以下文章

JSP自定义标签JSTL标签库

EL表达式 JSTL的标签库 EL的函数 自定义EL函数 自定义标签 JSP的开发模式 注册登陆案例

jsp标准标签库——jstl

JSP 标准标签库(JSTL)

JSP学习-标准标签库

JSP标准标签库