【Head First Servlets and JSP】笔记 25:JSTL 参考
<%@ 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 参考的更多相关文章
- 【Head First Servlets and JSP】笔记23:Expression Language(EL) 完全攻略
基本上是<Head First Servlets and JSP>内容的整理.扩充.顺便推荐一个供参考的JSP教程:JSP Tutorial内容很全面,还有一些有趣的实例. 完整代码参考 ...
- IOS学习笔记25—HTTP操作之ASIHTTPRequest
IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...
- JAVA自学笔记25
JAVA自学笔记25 1.GUI 1)图形用户接口,以图形的方式,来显示计算机操作的界面,更方便更直观 2)CLI 命令行用户接口,就是常见的Dos,操作不直观 3) 类Dimension 类内封装单 ...
- 给JSP应用提供JSTL支持(IntelliJ IDEA)
===========手动分割线===2018-12-26============================================= Maven项目直接添加如下依赖即可: <de ...
- JSP,EL和JSTL
JSP,EL和JSTL 内容待添加...
- maven项目jsp无法识别jstl的解决办法
EL表达式无效是因为maven项目的jsp不识别jstl,只要在web-APP 标签中引入命名空间 xmlns="http://xmlns.jcp.org/xml/ns/javaee&quo ...
- 程序的载入和运行(五)——《x86汇编语言:从实模式到保护模式》读书笔记25
程序的载入和运行(五)--<x86汇编语言:从实模式到保护模式>读书笔记25 前面几篇博文最终把代码分析完了.这篇就来说说代码的编译.运行和调试. 1.代码的编译及写入镜像文件 之前我们都 ...
- Linux下汇编语言学习笔记25 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- [Java] JSP笔记 - EL、JSTL 常用标签
一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...
随机推荐
- js 风格(注意事项)
类型 • 原始类型:我们可以直接使用值. ο string ο number ο boolean ο null ο undefined var foo = 1, bar = foo; bar = ...
- ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a)
ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a) 代码如下:执行Open过程中出现异常,信息为Unknown error 0x800a0e7a C++ Co ...
- jQuery ajax 动态append创建表格出现不兼容ie8
非常多情况下.通过js(jQuery1.10)动态来创建一些样式,对页面的动态交互来说是非常方便的 可是不同的浏览器针对动态生成的不是非常兼容,在此遇见的不兼容ie8.跟各位分享下 代码: json数 ...
- iOS开发之--storyboary下,拖拽一个tableview/collectionView/view 等,顶端下沉64个像素的处理方法
大家可能会发现,在sb或者xib里面拖拽一个tableview/collectionview/view的,顶端会自动下沉64个像素,也就是说,运行在模拟器上去,自导航下面又自动下沉了64个像素, 那是 ...
- hdu1814(2-SAT)
2-SAT 求出可能的解,但是这个解要是字典序最小的,所以只能采用2-SAT基本思想来解. 从小到大开始,对一个可能的点染色,染为1,然后dfs其所有能到达的点,如果其中出现一个已经标号为-1的话,那 ...
- 记一次Project插件开发
一.开发背景 最近在使用微软的Office Project 2010 进行项目管理,看到排的满满的计划任务,一个个地被执行完毕,还是很有成就感的.其实,不光是在工作中可以使用Project进行项目进度 ...
- 【BZOJ4584】[Apio2016]赛艇 DP
[BZOJ4584][Apio2016]赛艇 Description 在首尔城中,汉江横贯东西.在汉江的北岸,从西向东星星点点地分布着个划艇学校,编号依次为到.每个学校都拥有若干艘划艇.同一所学校的所 ...
- Python基础——原生数据类型(字典,列表,元组,字符串)
字典Dictionary 字典定义了键值对的1对1管理. 1.定义字典 请看下面的栗子,我们先创建了一个具有两个元素的字典,每对都是key:value的形式. 我们能通过key得到value,但是不能 ...
- Leetcode-Populating Next Right Pointer in Binary Tree II
Follow up for problem "Populating Next Right Pointers in Each Node". What if the given tre ...
- Servlet监听器与Timer定时器配合实现JAVA WEB应用简单自动作业
在web应用中,有时候客户需要一些定时程序,不需要客户自己去操作,而是由应用程序自行触发执行某些操作.这个时候监听与定时器的配合使用就基本可以实现这个需求了. 1.创建一个监听的SERVELET,这个 ...