JavaWeb学习心得之JSP标签
2017-10-28 08:56
369 查看
一、JSP标签概念
JSP标签也称之为Jsp Action元素,它用于在JSP页面中提供业务逻辑功能,避免直接写Java代码。
二、常用JSP标签
常用标签:
<jsp:include>
<jsp:forward>
<jsp:param>
1.<jsp:include>标签
作用:用于把另外一个资源的内容插入当前JSP页面的内容中,这种JSP在执行时的引入方式称为动态引入。
语法:<jsp:include page="url" flush="true" />,其中page属性指定被引入资源的路径,flush是否刷新当前JSP页面已输出的内容。
引入资源:
<jsp:include>标签和include指令的区别
head.jsp文件
include指令是静态引入
访问结果:便宜错误
以上结果,是因为include指令是先引入在处理,当head.jsp引入后,head.jsp和test.jsp中同时存在相同的变量i,所以有冲突,导致编译异常。
<jsp:include>动态引入
访问结果
<jsp:include>动态引入,是先处理两个JSP页面,然后再引入内容。
2.<jsp:forward>标签
作用:用于把请求转发给另外一个资源。
语法:<jsp:forward page="url"/> page属性用于指定请求转发资源路径
示例
test.jsp
3.<jsp:param>标签
作用:当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。
语法:
<jsp:include page="url"><jsp:param name="" value="" /></jsp:include>
<jsp:forward page="url"><jsp:param name="" value="" /></jsp:forward>
其中,name属性指定参数名,value属性指定参数值
示例1:
test.jsp
test1.jsp
示例2
test.jsp
test1.jsp
访问结果:
JSP标签也称之为Jsp Action元素,它用于在JSP页面中提供业务逻辑功能,避免直接写Java代码。
二、常用JSP标签
常用标签:
<jsp:include>
<jsp:forward>
<jsp:param>
1.<jsp:include>标签
作用:用于把另外一个资源的内容插入当前JSP页面的内容中,这种JSP在执行时的引入方式称为动态引入。
语法:<jsp:include page="url" flush="true" />,其中page属性指定被引入资源的路径,flush是否刷新当前JSP页面已输出的内容。
引入资源:
<jsp:include>标签和include指令的区别
head.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <!-- Mirrored from www.zi-han.net/theme/hplus/login_v2.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:19:49 GMT --> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>test</title> </head> <body> <% int i=1000; %> <!-- 用jsp标签引入资源内容 --> <p>head页面中i的值为<%=i %></p> </body> </html>
include指令是静态引入
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <!-- Mirrored from www.zi-han.net/theme/hplus/login_v2.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:19:49 GMT --> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>test</title> </head> <body> <% int i=100; %> <!-- 用jsp标签引入资源内容 --> <p>test页面中i的值为<%=i %></p> <%@include file="/head.jsp" %> </body> </html>
访问结果:便宜错误
以上结果,是因为include指令是先引入在处理,当head.jsp引入后,head.jsp和test.jsp中同时存在相同的变量i,所以有冲突,导致编译异常。
<jsp:include>动态引入
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <!-- Mirrored from www.zi-han.net/theme/hplus/login_v2.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:19:49 GMT --> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>test</title> </head> <body> <% int i=100; %> & 4000 lt;!-- 用jsp标签引入资源内容 --> <p>test页面中i的值为<%=i %></p> <jsp:include page="/head.jsp"></jsp:include> </body> </html>
访问结果
<jsp:include>动态引入,是先处理两个JSP页面,然后再引入内容。
2.<jsp:forward>标签
作用:用于把请求转发给另外一个资源。
语法:<jsp:forward page="url"/> page属性用于指定请求转发资源路径
示例
test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <!-- Mirrored from www.zi-han.net/theme/hplus/login_v2.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:19:49 GMT --> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>test</title> </head> <body> <!-- 用jsp标签转发 --> <jsp:forward page="/test1.jsp"></jsp:forward> </body> </html>test1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <!-- Mirrored from www.zi-han.net/theme/hplus/login_v2.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:19:49 GMT --> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>test</title> </head> <body> <p>转发后的页面</p> </body> </html>访问结果:
3.<jsp:param>标签
作用:当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。
语法:
<jsp:include page="url"><jsp:param name="" value="" /></jsp:include>
<jsp:forward page="url"><jsp:param name="" value="" /></jsp:forward>
其中,name属性指定参数名,value属性指定参数值
示例1:
test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <!-- Mirrored from www.zi-han.net/theme/hplus/login_v2.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:19:49 GMT --> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>test</title> </head> <body> <!-- 用jsp标签转发 --> <jsp:forward page="/test1.jsp"> <jsp:param value="hello" name="param1"/> <jsp:param value="world" name="param2"/> </jsp:forward> </body> </html>
test1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <!-- Mirrored from www.zi-han.net/theme/hplus/login_v2.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:19:49 GMT --> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>test</title> </head> <body> <p>接收到的参数</p> <p><%=request.getParameter("param1") %></p> <p><%=request.getParameter("param2") %></p> </body> </html>
示例2
test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <!-- Mirrored from www.zi-han.net/theme/hplus/login_v2.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:19:49 GMT --> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>test</title> </head> <body> <jsp:include page="/head.jsp"> <jsp:param value="hello" name="param1"/> <jsp:param value="world" name="param2"/> </jsp:include> </body> </html>
test1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <!-- Mirrored from www.zi-han.net/theme/hplus/login_v2.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:19:49 GMT --> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>test</title> </head> <body> <p>接收到的参数</p> <p><%=request.getParameter("param1") %></p> <p><%=request.getParameter("param2") %></p> </body> </html>
访问结果:
相关文章推荐
- JavaWeb学习心得之JSP标签库打包
- JavaWeb学习心得之JSP自定义标签
- JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
- 【JavaWeb Structs2学习】 路径介绍(在JSP页面a标签怎么写1)
- JavaWeb学习心得之自定义简单标签(一)
- JavaWeb学习心得之JSP原理
- 【javaweb学习记录】jsp标签
- JavaWeb学习心得之JSP指令
- JavaWeb学习心得之自定义简单标签(二)
- JavaWeb学习记录(十九)——jsp标签库
- 毕业设计制作过程中的学习心得(有asp和jsp)
- JavaWeb学习笔记六 JSP
- 学习JSP标签库
- JSP2.0 tags自定义标签学习笔记
- 学习心得 - jsp处理异常及一些高级主题
- jsp base标签与meta标签学习
- JavaWeb学习心得之Tomcat服务器(一)
- 【JavaWeb探究】自定义JSP标签(二)
- JSP学习笔记(九)-----JSP标签库
- 心得13--jsp简单标签案例分析.doc