jsp标准标记库(1)

时间:2022-11-20 14:10:39

1,  首先倒入jar包,jstl和stander

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

 

通用标记

1, <c:set>可以设置变量,后者为javabean属性赋值

(1)<c:set var=”变量名称”  value=”为变量赋的值” scope=”变量作用的范围”/>

                                       |--page,request,session,application

(2)<c: set var=”变量名称”> 体内容为变量的赋值</c:set>

 

(3)<c:set var=”变量名称”  target=”javabean的id”  property=”javabean的属性名称”>

2: <c:out>将变量或表达式的计算结果输出到JSPWriter,与out.println()功能一样

(1)<c:out value=”${上下文中的变量}” default=”当没有这个变量时显示的内容”/>

 

(2) <c:out value=”${上下文中的变量}” >

当没有这个变量时显示的内容

</c:out>

(1)(2)效果一样。

如果直接写成:<c:out value=”变量名或字符串” >,将会原样输出

3:<c:remove>的作用是删除某个变量

<c:remove var=”要删的变量名称(不用session表达式)”>

4:<c:catch>捕捉在他内部的标记和脚本

<c:catch var=”error”>

可能出现问题的代码

</c:catch>

</c:out value=”${error}”>//利用这句就可以输出错误信息

<c:catch var="error">

<% Integer.parseInt("要跑异常了");%>

</c:catch>

<c:out value="${error}"/>

结果:java.lang.NumberFormatException: For input string: "要跑异常了"

 

 

◎流程控制标记

1:<c:if  test=”要判断的表达式(必填字段 var=”保存条件判断的结果”>

        <c:set var="score" value="98"/>

       <c:if test="${score>85}" var="result">

          优秀

                    <c:out value="${result}"/>

          </c:if>

结果:优秀 true

 

 

Choose_when_otherwise

其实:choose==switch

when==case

otherwise==default

<c:set var="score" value="92"/>

<c:choose>

    <c:when test="${score>90}">

        优秀

        <c:choose>

            <c:when test="${score==100}">

              满分

            </c:when>

        </c:choose>

    </c:when>

    <c:when test="${score<60}">

         不及格

    </c:when>

    <c:otherwise>

        什么东西

    </c:otherwise>

</c:choose>

 

 

◎循环

1,<c:forEach  var=”变量”  begin=”开始的角标号”  end=”结束的角标号”  step=”步长”>

<c:forEach var="x" begin="1" end="10" step="1" varStatus="s">

        <tr>

            <td><c:out value="${s.count}"/></td>            <td><c:out value="${x}"/></td>

            <td><c:out value="${x*x}"/></td>

        </tr>

        </c:forEach>

其实就等于for(int x=1;x<=10;x+=1)

-=============================================================

2,<c:forEach  items=”被处理的对象”  delims=”分割符”  begin=”开始条件”  end=”结束条件”  step=”步长”>

<table border="1">//红色为必须字段

  <c:forTokens items="rong,shao,lin,zai,zhe"delims="," var="temp" >

        <tr>

            <td>${temp} </td>

        </tr>

  </c:forTokens>

</table>

 

发现:当标签中有value属性时,代表给某个参数赋值,也可不写而在标记体中的数据就是被赋予的

URL:

<c:import url=”要传进来的另一个页面”>【<c:param 要为传进来的页面的某个属性赋值>】</c:import>

Copyright.jsp

 Copyright &copy;${param.auther}  All Rights Reservedws

C_import.jsp
 <c:import url="Copyright.jsp">

<!-- 此时会把copyright作为内容传到本页,并给属性auther赋值 rongshaolin-->

      <c:param name="auther" value="RongShaolin"/>

        </c:import>

结果:

 

<c:redirect>

<c:url>

<c:param>

        <c:url value="Copyrigth.jsp" var="nextpage">

            <c:param name="author" value="rong"/>

            </c:url>

        <c:redirect url="${nextpage}"/>