6.24 JSP学习

6.24 JSP学习

  1. JSTL 标签库
    JSTL标签库允许开发人员可以像使用HTML标签那样在JSP中开发java功能
  1. 导包 : jstl.jar 和 standard.jar
  2. set out remove (jstl 标签库里到底有哪些标签)
    (reference : https://www.cnblogs.com/zhangyinhua/p/7637399.html#_lab2_1_3)
    i) 如果你想在jsp中使用JSTL标签库, 那么就要进行标签库指令设置
    <%@ taglib uri = “http://java.sun.com/jsp/jstl/core” prefix = “c” %>
    然后如果想使用JSTL标签库时, 语句开始都要以<c: 开头
    e.g. :
    a) <c: set var=”name” value=” ‘ g r e e n ’ ” s c o p e = “ r e q u e s t ” / &gt; 相 当 于 &lt; b ) &lt; c : o u t v a l u e = “ {‘green’ }” scope = “request” /&gt; 相当于 &lt;% request.setAttribute(“name” ,”green”) %&gt; b) &lt;c: out value = “ greenscope=request/><b)<c:outvalue={name}” />
    相当于<%=request.getAttribute(“name”) %>
    c) <c: remove var= “name” scope = “request”>
    相当于<%request.removeAttribute(“name”)%>
    (作用域可以是pageContext, request, session, application等等)
    ii) if else
    a) JSTL通过<c: if test=””> 进行条件判断, 但是没有else 就只能通过取反判断了.
    b) 还可以通过使用empty进行空判断.()
    c) Example
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="java.util.*" errorPage="catch.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="hp" value="${10}" scope="request" />
<c:if test="${hp>5}">
	<p>Han is going to the hell.</p>
</c:if>

<c:if test="${!hp>5}">
	<p>Han is still alive.</p>
</c:if>

<c:if test = "${empty weapon}">
	<p> 没有武器 ! </p>
</c:if>

  1. forEach 来替换JSP中的for循环
    i) forEach的用法 : 循环语句
    ii) 解析 : items=”{heros}” 表示遍历集合
    var = “hero” 表示把每一个集合中的元素放在hero上
    varStatus=”st” 表示遍历的状态
    iii) 范例
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!-- 使用JSTL中的c:forEach循环来遍历List -->

<%
	List<String> heros = new ArrayList<String>();
	heros.add("Han1");
	heros.add("Han2");
	heros.add("Han3");
	heros.add("Han4");
	request.setAttribute("heros", heros);
%>
<table width="200px" align="center" border="1" cellspacing="0">

	<tr>
		<td>编号</td>
		<td>英雄</td>
	</tr>
	<%
		System.out.println("part1");
	%>

	<c:forEach items="${heros}" var="hero" varStatus="st">
		<%
			System.out.println("part2");
		%>
		<tr>
			<td><c:out value="${st.count }" /></td>
			<td><c:out value="${hero}" /></td>

		</tr>
	</c:forEach>
</table>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值