<%@ 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. tcpdf

    将文档整为pdf格式文档 网址:http://www.tcpdf.org/examples.php

  2. 蓝桥杯 第三届C/C++预赛真题(8) 密码发生器(水题)

    在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全:如果设置不好记的密码,又担心自己也会忘记:如果写在纸上,担心纸张被别人发现或弄丢了... 这个程 ...

  3. 【python】模块测试 if name main

    verbose=1 def listing(module): if verbose: print '-'*30 print 'name:',module.__name__,'file:',module ...

  4. memset陷阱

    最近在实现差分进化算法的时候,发现数据异常,查了好久,才知道是memset惹的祸! #include <iostream> #include <cstring> using n ...

  5. ChemDraw综合型化学工具你值得拥有

    1.ChemDraw综述 ChemDraw是业界领先的科学分析桌面套件,ChemDraw基础功能包括编辑.绘制与化学有关的一切结构图形,如建立和编辑各类分子式.方程式.结构式.立体图形.对称图形.轨道 ...

  6. linux中一些常用的命令总结

    mv : 用于移动文件或目录,  也可以用于重名文件和目录 touch : 创建新文件, 也可以修改文件的时间标签 mkdir :  创建目录 rm : 删除文件或目录 cd : 切换到指定的目录 l ...

  7. Ubuntu 16.04 LTS sublime text 3 解决不能输入中文

    sublime text 3 安装完成后不能输入中文,让人很是不爽.下面内容可以解决使用问题! 一.首先要注意几个问题. 1)sublime_imfix.c 文件放在home目录下面. 2)如果你在步 ...

  8. Java知识点梳理——多态

    1.定义:多态是同一个行为具有多个不同表现形式或形态的能力,即一个接口不同的实例执行不同的操作: 2.优点:消除类型之间的耦合关系.可替换性.可扩展性.接口性.灵活性.简化性: 3.多态存在的3个必要 ...

  9. Android UI开发第三十五篇——AppCompat实现Action Bar

    每一位Android开发者对Action Bar这种设计都不陌生了,毕竟它已经发布了至少两年了.Android团队发布Action Bar设计规范时同时放出了ActionBar的Api来支持这种设计. ...

  10. pocket

    Pocket是一个离线阅读服务软件. Pocket的主要功能就是将你要阅读或者一时没有读完的网页标记下来,接着同步到服务器端,然后你就可以在不同的设备上阅读.如果你在电脑上网的时间不多,一些东西又来不 ...