<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<%-- errorPage要优先于DD配置 --%>
<%@ page errorPage="errorPage.jsp" %> <html>
<head>
<title>$Title$</title>
</head>
<body>
<%-- <c:forEach> --%>
<table>
<c:forEach var="movie" items="${movieList}">
<tr>
<td>${movie}</td>
</tr>
</c:forEach>
</table>
<br> <%-- <c:forEach> varStatus --%>
<table>
<c:forEach var="movie" items="${movieList}" varStatus="movieLoopCount">
<tr>
<td>${movieLoopCount.count}</td>
<td>${movie}</td>
</tr>
</c:forEach>
</table>
<br> <%-- 嵌套<c:forEach> 一般用在嵌套的数据结构 --%> <%-- <c:if> 这个页面一般人看不到--%>
<c:if test="${param.userType eq 'member'}">
<jsp:include page="input.jsp"/>
</c:if>
<br> <%-- <c:choose> --%>
<c:choose>
<c:when test="${param.userType == 'visitor'}">
<p>Hello, visitor</p>
</c:when> <c:when test="${param.userType == 'member'}">
<p>Good evening.</p>
</c:when> <c:otherwise>
<p>unbelievable</p>
</c:otherwise>
</c:choose>
<br> <%-- <c:set> 规则和jsp标准动作一样,没有就创建新的 --%>
<c:set var="userLevel" scope="session" value="Cowboy" />
<p>${userLevel}</p>
<c:set var="Fido" value="${person.dog}" /> <c:set var="userLevel_2">
Cowboy, Cowgirl
</c:set>
<p>${userLevel_2}</p> <%-- <c:set>只能用来设置bean和map --%>
<c:set target="${dog}" property="name" value="huang" />
<p>${dog.name}</p> <c:set target="${dog}" property="name">
${param.name}
</c:set>
<p>${dog.name}</p> <%-- jsontag 尝试 --%>
<json:object>
<json:property name="name" value="${dog.name}"/>
</json:object> <%-- <c:remove> 删除变量 --%>
<c:remove var="userLevel" scope="session"/>
<%-- 不写作用域 或者书写正确的作用域 都可删除变量--%>
<p>userLevel = ${userLevel}</p> <%-- <c:import> 比<jsp:include>、<include file="...">更强大,可以包含容器之外的内容,原理与前者类似 --%>
<%--<c:import url="某个URL" />--%>
<%-- import简单的页面是可以的,复杂的页面会超时, 图片会乱码 --%> <%-- c:param --%>
<c:import url="input.jsp">
<c:param name="content" value="this is a param from index.jsp" />
</c:import> <%-- jsp的URL重写 --%>
这是一个URL重写可用的超链接
<a href="<c:url value='/login.jsp' />"> click here </a>
<br> <%-- url编码 --%>
<c:set var="last" value="Hidden Cursor" />
<c:set var="first" value="Crouching Pixels" />
<c:url value="/showMovies" var="inputURL">
<c:param name="firstName" value="${first}" />
<c:param name="lastName" value="${last}" />
</c:url>
<p>url using param is: ${inputURL}</p>
<p><a href="${inputURL}">URL_above</a></p> <p>About to do a risky thing: </p>
<c:catch var="myException">
<% int x = 10/0; %>
</c:catch>
<p>If you see this, we survived.</p>
<c:if test="${myException != null}">
<p>There was an exception: ${myException.message}</p>
</c:if> </body>
</html>

错误页面建议使用 web.xml :

<%@page isErrorPage="true" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<p>同志,请先登陆</p>
<a href="login.jsp">click here</a>
<hr>
<p>${pageContext.exception}</p>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>showMovies</servlet-name>
<servlet-class>showMovies</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>showMovies</servlet-name>
<url-pattern>/showMovies</url-pattern>
</servlet-mapping> <!-- 普遍型错误页面 -->
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/errorPage.jsp</location>
</error-page> <!-- 具体异常型 -->
<!-- http状态码型 -->
<error-page>
<error-code>404</error-code>
<location>/errorPage.jsp</location>
</error-page> </web-app>

说是留着参考。。事实上要用的时候还是直接谷歌、查文档实在。。。

【Head First Servlets and JSP】笔记 25:JSTL 参考的更多相关文章

  1. 【Head First Servlets and JSP】笔记23:Expression Language(EL) 完全攻略

    基本上是<Head First Servlets and JSP>内容的整理.扩充.顺便推荐一个供参考的JSP教程:JSP Tutorial内容很全面,还有一些有趣的实例. 完整代码参考 ...

  2. IOS学习笔记25—HTTP操作之ASIHTTPRequest

    IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...

  3. JAVA自学笔记25

    JAVA自学笔记25 1.GUI 1)图形用户接口,以图形的方式,来显示计算机操作的界面,更方便更直观 2)CLI 命令行用户接口,就是常见的Dos,操作不直观 3) 类Dimension 类内封装单 ...

  4. 给JSP应用提供JSTL支持(IntelliJ IDEA)

    ===========手动分割线===2018-12-26============================================= Maven项目直接添加如下依赖即可: <de ...

  5. JSP,EL和JSTL

    JSP,EL和JSTL 内容待添加...

  6. maven项目jsp无法识别jstl的解决办法

    EL表达式无效是因为maven项目的jsp不识别jstl,只要在web-APP 标签中引入命名空间 xmlns="http://xmlns.jcp.org/xml/ns/javaee&quo ...

  7. 程序的载入和运行(五)——《x86汇编语言:从实模式到保护模式》读书笔记25

    程序的载入和运行(五)--<x86汇编语言:从实模式到保护模式>读书笔记25 前面几篇博文最终把代码分析完了.这篇就来说说代码的编译.运行和调试. 1.代码的编译及写入镜像文件 之前我们都 ...

  8. Linux下汇编语言学习笔记25 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  9. [Java] JSP笔记 - EL、JSTL 常用标签

    一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...

随机推荐

  1. Grodno 2015 (Urozero May 2015 Day 5) D Triangles

    给出$P(<=10^9)$, 求有多少个有序三元组$(a, b, c),\ gcd(a, b, c) = 1,\ a + b + c <= P$且以它们构成的三角形中存在某个角是另外一个角 ...

  2. Yii中的criteria 类

    $criteria = new CDbCriteria; //select $criteria->select = '*';//默认* $criteria->select = 'id,na ...

  3. java web 页面提速

    记得面试现在这份工作的时候,一位领导语重心长地谈道——当今的世界是互联网的世界,IT企业之间的竞争是很激烈的,如果一个网页的加载和显示速度,相比别人的站点页面有那么0.1秒的提升,那也是很大的一个成就 ...

  4. Lenna图-莱娜·瑟德贝里

    莱娜·瑟德贝里(瑞典文:Lena Soderberg),1951年3月31日出生于瑞典,在1972年11月期的<花花公子>杂志中,她化名为莱娜·舍布洛姆,成为了当期的玩伴女郎. 她的中间折 ...

  5. 学习DBCC CHECKIDENT

    检查指定表的当前标识值,如有必要,还对标识值进行更正. 语法DBCC CHECKIDENT    ( 'table_name'        [ , { NORESEED                ...

  6. linux 环境 tomcat 莫名奇妙挂掉

    ::-exec-] org.apache.coyote.http11.Http11Processor.service Error processing request java.lang.NullPo ...

  7. 【BZOJ2927】[Poi1999]多边形之战 博弈

    [BZOJ2927][Poi1999]多边形之战 Description 多边形之战是一个双人游戏.游戏在一个有n个顶点的凸多边形上进行,这个凸多边形的n-3条对角线将多边形分成n-2个三角形,这n- ...

  8. Android自定义上拉控件SpringView

    Demo 先看一下SpringView的效果图: 1.拖动灰色部分可拖动下方视图,点击jump按钮可让下方视图自行滑动. 使用方法 布局文件: <com.zql.android.springvi ...

  9. 在Web工程中,普通Java类如何读文件

    我们在以前讨论过在Web工程不能采用Java工程原先的读取方式,即创建一个文件流(FileInputStream)并给出一个文件目录(从src开始找一直找到你要读取文件的目录),这种的方式是不可行的. ...

  10. attempt to index a nil value (global 'luasql')

    require ’socket‘ require ’luasql.mysql' 上述返回结果都是正常 但是执行 env = luasql.mysql(),报错: stdin:1: attempt to ...