JAVAWEB-JSTL

1.流程处理标签
(1)<c:if>

 <c:if test="${param.name == 'momor' && param.password == '1234'}">
     <h1>${param.name}登陆成功</h1>
 </c:if>

如果test为true 那么执行里头的内容,若果test为false,那么不执行

(2)<c:choose>,<c:when>,<c:otherwise>
这里没有<c:else>只能用<c:choose>,<c:when>,<c:otherwise>代替

 <c:choose>
        <c:when test="${user.valid}">
            <h1>
                <jsp:getProperty name="user" property="name"/>登陆成功
            </h1>
        </c:when>
        <c:otherwise>
            <h1>登录失败</h1>
        </c:otherwise>
    </c:choose>

<c:choose>里可以有多个<c:when>,如果<c:when>中test为true那么后面的<c:when>就不在往下进行了。when中所有测试不成立,那么就会输出otherwise的内容。

(3)<c:forEach>

<c:forEach var="message" items="${messageService.messages}">
            <tr>
                <td>${message.name}</td>
                <td>${message.text}</td>
            </tr>
</c:forEach>

<c:forEach> item属性可以是数组,Collection,Iterator,Enumeration,Map与字符串。每次会依序从items指定的对象中取出一个元素,并制定给var属性设置的变量

//Map
<c:forEach var="item" items="${someMap}">
            <tr>
                <td>Key:${item.key}</td>
                <td>Value:${item.value}</td>
            </tr>
</c:forEach>
//字符串   会显示"JAVA" "C++" "C" "JAVASCRIPT"四个字符串
<c:forEach var="item" delims=","items="JAVA,C++,C,JAVASCRIPT">
            <tr>
                <td>${item}</td>
            </tr>
</c:forEach>
//delims不写则默认是以 , 分割
//delims=":"  是以 : 来分割

(4)<c:catch>

 <c:catch var="error">
        ${param.a} + ${param.b} = ${param.a + param.b}
 </c:catch>
    <c:if test="${error != null}">
        <br>
        <span style="color: aqua">${error.message}</span>
        <br>${error}
    </c:if>

<c:catch>用来捕获异常.若异常发生,会将异常对象设置给var属性所指定的名称。

(5)<c:import>

<c:import url="add.jsp">
    <c:param name="a" value="1"/>
    <c:param name="b" value="2"/>
</c:import>

<jsp:include>的加强版,动态导入另一个网页。

<c:import url="http://openhome.cc" charEncoding="UTF-8">
//charEncoding属性用来制定要导入的网页的编码

(6)<c:redirect>

<c:redirect url="add.jsp">
    <c:param name="a" value="1"/>
    <c:param name="b" value="2"/>
</c:redirect>

重定向,使用了HttpServletResponse的sendRedirect()方法。
如果重定向需要参数,那么可以通过<c:param>来进行设置。

(6)<c:url>
<c:url>相当于response的encodeURL()方法(URL重写)

//计数递增程序counter.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="count" value="${sessionScope.count+1}" scope="session"/>
<html>
<head>
    <title>计数程序</title>
</head>
<body>
    <h1>JSP count ${sessionScope.count}</h1>
    <a href="<c:url value="counter.jsp"/>">递增</a>
</body>
</html>

//如果需要在URL后头带参数
<c:url value="some.jsp">
   <c:parame name="a" value="22">
</c:url>

2.XML标签库
1.和核心库像类似有<x:if> <x:forEach> <x:choose> <x:when> <x:otherwise>等标签
(1)<x:prase>
解析文件来源可以是字符串或Reader对象

<c:import url="book.xml" var="xml" charEncoding="UTF-8"/>
<x:parse var="bookmarks" doc="${xml}"/>

(2)<x:out>
获取xml文件中某些信息并输出。

<td><x:out select="$bookmark/title"/></td>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值