JSP的学习二(指令与标签)
一:page指令
1.JSP的指令
放在<%@ 指令 属性=“值”%>
主要有page,include,tablib。
2.page指令
用于定义JSP页面的各种属性,作用于是JSP的整个页面。建议,page指令放在JSP的起始位置。
language:JSP可以使用的语言。
extends:“package.class”
import: ALT+/ 导包
session:true或者false,说明当前JSP是否可以使用session。
errorPage: 当前的页面出现错误,可以跳转到errorPage后面值的页面,例如=“/error.jsp”,就会跳转到根目录下的error.jsp。同时,在错误页面error.jsp中加上下面的指令,就可以使用exception,调用API,exception.getMessage()得到出错的原因。内部是转发机制。
isErrorPage:不建议这个页面被直接访问,WEB-INF下的文件不能通过浏览器直接访问,但是可以通过请求转发去访问,所以,errorPage="/WEB-INF/error.jsp"。
contentType:指定当前页面的响应类型,实际调用的是response.setContentType("text/html ; charset=UTF-8");
pageEncoding: 指定JSP页面的字符编码,通常情况下该值和contentType中的charSet一致。
isELIgnored:页面是否可以使用EL表达式,一般为true。
3.关于isErrorPage
如果不在出错页面配置这个指令,也可以在web.xml中配置,如下:
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/error.jsp</location>
<error-page>
或者:
<error-page>
<exception-type>java.lang.ArithmeticException</exception-type>
<location>/WEB-INF/error.jsp</location>
<error-page>
二:include指令
1.静态包含
#a.jsp
¥其中,file引入的文件是相对路径。
¥如果是/,则表示web应用程序的根目录,不是站点根目录,否则表示当前文件。
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Insert title here</title>
- </head>
- <body>
- <h2>AAAAAAAAAA</h2>
- <%@ include file="b.jsp" %>
- </body>
- </html>
#b.jsp
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Insert title here</title>
- </head>
- <body>
- <h2>BBBBBBBBBBB</h2>
- </body>
- </html>
#结果
2.注意
在a.jsp中定义的变量,可以在b.jsp中直接使用
三:JSP标签
1.Action标签
在JSP中还提供了一种称之为Action的元素,使用这些元素可以完成各种通用的JSP页面功能。
Action采用XML元素的语法格式。
都使用jsp作为前缀,并且全部采用小写,例如,<jsp:include>
2.<jsp:include>
动态引入。
#a.jsp
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Insert title here</title>
- </head>
- <body>
- <h2>AAAAAAAAAA</h2>
- <%--<%@ include file="b.jsp" %> --%>
- <jsp:include page="b.jsp"></jsp:include>
- </body>
- </html>
3.注意
生成两个Servlet源文件
4.<jsp:forward>
用于把请求转发给另外一个资源。
<jsp:forward page=""></...>
5.程序(相当与转发)
相当于:
<% request.getRequestDispatcher("/include/b.jsp").forward(request,response); %>
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Insert title here</title>
- </head>
- <body>
- <h2>AAAAAAAAAA</h2>
- <%--<%@ include file="b.jsp" %> --%>
- <%--<jsp:include page="b.jsp"></jsp:include> --%>
- <jsp:forward page="/include/b.jsp"></jsp:forward>
- </body>
- </html>
6.区别
jsp:forward可以使用jsp:param子标签,同样jsp:include也可以传递参数。
#a.jsp
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Insert title here</title>
- </head>
- <body>
- <h2>AAAAAAAAAA</h2>
- <%--<%@ include file="b.jsp" %> --%>
- <%--<jsp:include page="b.jsp"></jsp:include> --%>
- <jsp:forward page="/include/b.jsp">
- <jsp:param value="tom" name="username"/>
- </jsp:forward>
- </body>
- </html>
#b.jsp
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Insert title here</title>
- </head>
- <body>
- <h2>BBBBBBBBBBB</h2>
- <%=request.getParameter("username") %>
- </body>
- </html>
#效果
JSP的学习二(指令与标签)的更多相关文章
- JAVAWEB开发之Session的追踪创建和销毁、JSP具体解释(指令,标签,内置对象,动作即转发和包括)、JavaBean及内省技术以及EL表达式获取内容的使用
Session的追踪技术 已知Session是利用cookie机制的server端技术.当client第一次訪问资源时 假设调用request.getSession() 就会在server端创建一个由 ...
- JSP的学习二(请求转发与 重定向)
一: 1.介绍知识点 1). 本质区别: 请求的转发只发出了一次请求, 而重定向则发出了两次请求. 具体: ①. 请求的转发: 地址栏是初次发出请求的地址. 请求的重定向: 地址栏不再是初次发出的请 ...
- dubbo源码学习(二) : spring 自定义标签
做dubbo的配置时很容易发现,dubbo有一套自己的标签,提供给开发者配置,其实每一个标签对应着一个 实体,在容器启动的时候,dubbo会对所有的配置进行解析然后将解析后的内容设置到实体里,最终du ...
- jsp/servlet学习二之servlet详解
Servlet API概览 Servlet API有一下四个java包: 1,javax.servlet,其中包含定义servlet和servlet容器之间契约的类和接口. 2,javax.servl ...
- JSP的学习(3)——语法知识二之page指令
本篇接上一篇<JSP的学习(2)——语法知识一>,继续来学习JSP的语法.本文主要从JSP指令中的page指令,对其各个属性进行详细的学习: JSP指令: JSP指令是为JSP引擎而设计的 ...
- JSP的学习(5)——语法知识三之include指令
本篇继续来对JSP语法中的JSP指令进行学习,在<JSP的学习(3)——语法知识二之page指令>中,已经介绍了JSP指令的书写格式和page指令的详细信息,所以在这一篇中我们会对JSP指 ...
- JSP指令、标签以及中文乱码
JSP指令.标签以及中文乱码 一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. JSP指令的基本 ...
- 从零开始学习html(二)认识标签(第一部分)——下
八.<blockquote>标签,长文本引用 <!DOCTYPE HTML> <html> <head> <meta http-equiv=&qu ...
- 从零开始学习html(二)认识标签(第一部分)——上
一.语义化,让你的网页更好的被搜索引擎理 学习html标签过程中,主要注意两个方面的学习:标签的用途.标签在浏览器中的默认样式. 标签的用途:我们学习网页制作时,常常会听到一个词,语义化. 那么什么叫 ...
随机推荐
- [Apio2012]dispatching 主席树做法
bzoj 2809: [Apio2012]dispatching http://www.lydsy.com/JudgeOnline/problem.php?id=2809 Description 在一 ...
- HDU 5143 DFS
分别给出1,2,3,4 a, b, c,d个 问能否组成数个长度不小于3的等差数列. 首先数量存在大于3的可以直接拿掉,那么可以先判是否都是0或大于3的 然后直接DFS就行了,但是还是要注意先判合 ...
- 八卦Minsky打压神经网络始末
八卦Minsky打压神经网络始末 谈下Minsky造成的神经网络冰河事件:57年一个叫弗兰克的大概只有二流水平的学者搞出了感知机,理论和实践证明了对线性可分问题的有效性,引起一阵轰动,特别是非科学圈类 ...
- bootstrap使用记录
http://v3.bootcss.com/components/#panels http://v2.bootcss.com/components.html
- Redis实战(四)CentOS 7上Redis哨兵
什么是哨兵 顾名思义,哨兵的作用就是对Redis的系统的运行情况的监控,它是一个独立进程.它的功能有2个: 1. 监控主数据库和从数据库是否运行正常: 2. 主数据出现故障后自动将从数据库转化为主数据 ...
- Java开发者应该列入年度计划的5件事
本文写了我今年计划要做的5件事.为了能跟踪计划执行的进度,就把这些事都列了出来.我觉得这些事对其它Java开发者而言也是不错的参考方向. 1.开发一个应用,通过Java来操作一种NoSQL数据库实现存 ...
- ASP.NET配置文件Web.config 详细解释
一.认识Web.config文件 Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式), ...
- C#(.net)水印图片的生成
/* * * 使用说明: * 建议先定义一个WaterImage实例 * 然后利用实例的属性,去匹配需要进行操作的参数 * 然后定义一个WaterImageManage实例 * 利用WaterI ...
- HDU 2391 Filthy Rich (dp)
题目连接 Problem Description They say that in Phrygia, the streets are paved with gold. You're currently ...
- MUI上拉加载下拉刷新
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...