【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 ...
随机推荐
- boost实用工具:assign库了解学习
许多时候,我们需要为容器初始化或者赋值,填入大量的数据; STL容器仅提供了容纳这些数据的方法,但是填充的步骤是相当地麻烦(insert.push_back); 于是,boost::assign出现了 ...
- oracle游标:查询并打印员工的姓名和薪水
--查询并打印员工的姓名和薪水 --set serveroutput on /* 1.光标的属性 %found:假设取到了记录就是true否则是false: %notfound: */ declare ...
- Codeforces Round #361 (Div. 2) E. Mike and Geometry Problem
题目链接:传送门 题目大意:给你n个区间,求任意k个区间交所包含点的数目之和. 题目思路:将n个区间都离散化掉,然后对于一个覆盖的区间,如果覆盖数cnt>=k,则数目应该加上 区间长度*(cnt ...
- [HackerRank] The Longest Common Subsequence
This is the classic LCS problem. Since it requires you to print one longest common subsequence, just ...
- A day
今天推荐一部微电影,从老人的视角看这个社会. 老人在途中买橘子的经历仿佛是看到了当年自己的影子. A day对于有些人来说,很长.对于某些人来说很短暂.这一天所做的事情就是穿过马路走过天桥去水果店买四 ...
- 170302、 Apache 使用localhost(127.0.0.1)可以访问,使用本机局域网IP(192.168.2.*)不能访问
对于此问题的解决办法,打开apache安装路径中的http.conf文件, 找打以下内容 # onlineoffline tag - don't remove Order Deny, ...
- Powershell调用RemoteExchange.ps1
If ((Get-PSSnapin | where {$_.Name -match "Microsoft.Exchange.Management.PowerShell.E2010" ...
- make Makefile 与 cmake CMakeLists.txt
make Makefile 与 cmake CMakeLists.txt 大家都知道,写程序大体步骤为: 1.用编辑器编写源代码,如.c文件. 2.用编译器编译代码生成目标文件,如.o. 3.用链接器 ...
- Redis核心解读(转)
原文:Redis核心解读 Redis是知名的键值数据库,它广泛用于缓存系统.关于Redis的信息已经不用我多介绍了.这个系统的Redis文章主要从另外一个角度关注,Redis作为一个开源项目,短短2W ...
- 在Centos上打Preempt-rt实时补丁
1.系统centos6.5,内核2.6.31.6,补丁patch-2.6.31.6-rt19.bz2,以下方式获得: wget https://www.kernel.org/pub/linux/ker ...