jsp jsp标签
JSP标签页称为Jsp Action(JSP动作元素),用于在Jsp页面中提供业务逻辑功能,避免在Jsp页面中直接编写java代码,造成jsp页面难以维护。
jsp常用标签
jsp:include
jsp:forward
jsp:param
jsp:include标签
该标签用于把另外一个资源的输出内容插入当前JSP页面的输出内容之中,这种在Jsp页面中执行的时候引入的方式成为动态引入
<jsp:include page="relativeURL|<%= expression%>" flush="true|false" />
page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获取。
flush属性指定在插入其他资源的输出内容时,是否先将当前jsp页面的已输出的内容刷新到客户端
*************include1.jsp******************
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<h1> 这是页面的开头</h1>
*************include2.jsp*****************
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<h1>这是页面的结尾</h1>
************include.jsp********************
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=utf-8">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="/WEB-INF/tag/include1.jsp"></jsp:include>
<h1>这里是页面的内容</h1>
<jsp:include page="/WEB-INF/tag/include2.jsp"></jsp:include>
</body>
</html>
<jsp:include>和include的区别
<jsp:include>标签是动态引入,jsp:include标签设置到的2个JSP页面会翻译成2个Servlet,这2个Servlet执行时合并。
而include指令是静态引入,涉及到的2个jsp页面会被翻译成一个Servlet,其内容时在源文件级别进行合并。
*****被包含的页面 **********
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=utf-8">
<title>Insert title here</title>
</head>
<body>
<%! int i=10; %>
<h1> DEMO页面 i:<%= i %></h1>
</body>
</html>
结果正常输出:
INCLUDE页面中i的值为:100
DEMO页面 i:10
**********使用jsp:include的指令进行动态引入,页面可以正常输出
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=utf-8">
<title>Insert title here</title>
</head>
<body>
<%! int i=100; %>
<h1>INCLUDE页面中i的值为:<%= i %></h1>
<jsp:include page="/WEB-INF/tag/demo.jsp"></jsp:include>
</body>
</html>
使用@include指令进行引入
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=utf-8">
<title>Insert title here</title>
</head>
<body>
<%! int i=100; %>
<h1>INCLUDE页面中i的值为:<%= i %></h1>
<%@ include file="/WEB-INF/tag/demo.jsp" %>
<!-- 提示错误:Duplicate field __2F_JavaWeb_2F_WebContent_2F_WEB_2D_INF_2F_tag_2F_include_2E_jsp.i -->
</body>
</html>
*.jspf扩展文件名在jsp:include @include和c:import中的区别
JSP规范建议使用.jspf作为静态引入文件的扩展名。
jspf扩展的文件名在include到另外一个jsp文件中,发现只有用@include指令的时候,jspf文件的内容才会被解析,并执行其中的jsp指令
和tag,而使用jsp:include和JSTL的c:import都没有用,jspf文件被当做纯文本文件处理了。
******开始页面***********
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<h1>HEAD 页面</h1>
******结尾页面***********
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<h1>结尾 页面</h1>
***********使用@include可以正常输出
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=utf-8">
<title>Insert title here</title>
</head>
<body>
<%@ include file="/WEB-INF/tag/head.jspf" %>
<h1>INCLUDE页面</h1>
<%@ include file="/WEB-INF/tag/tail.jspf" %>
</body>
</html>
输出结果:
HEAD 页面
INCLUDE页面
结尾 页面
<!-- 使用jsp:include 标签 -->
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=utf-8">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="/WEB-INF/tag/head.jspf"></jsp:include>
<h1>INCLUDE页面</h1>
<jsp:include page="/WEB-INF/tag/tail.jspf"></jsp:include>
</body>
</html>
输出结果;
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
HEAD 椤甸潰
INCLUDE页面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
缁撳熬 椤甸潰
转换后网页代码:spf文件Tomcat服务器被当作纯文本文件处理了,没有当作jsp页面来解析执行
<!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=utf-8">
<title>Insert title here</title>
</head>
<body>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<h1>HEAD 椤甸潰</h1>
<h1>INCLUDE页面</h1>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<h1>缁撳熬 椤甸潰</h1>
</body>
</html>
使用表达式进行引入
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
ps: 这里在引入的时候需要注意这里的不用使用表达式来代替,想下为什么
<jsp:include page="/WEB-INF/demo/zero.jsp" flush="false"/>
<!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=utf-8">
ps:使用表达式来获取资源路径信息 css/js/image等静态文件
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/first.css"/>
</head>
<body>
<% int i=0; %>
<p>输出jsp中定义的变量i=<%=i %></p>
<p><%=request.getServletPath() %></p>
<p><%=request.getContextPath()%></p>
<%-- <jsp:include page="<%=(request.getServletPath()+"/../zero.jsp") %>" /> --%>
</body>
</html>
jsp:forward标签
该标签用于把请求转发给另外一个资源
<jsp:forward page="relativeURL|<%=exception%%>" />
page属性用于指定请求转发到的资源的相对路径,它可以通过执行一个表达式来获得。
<@ page language="java" import="java.util.*" pageEncoding="utf-8">
<%--使用<jsp:forward>标签跳转到forwarddemo2.jsp--%>
<jsp:forward page="/forward.jsp" />
jsp:param标签
当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其他资源时,可以使用<jsp:param>标签向这个资源传递参数
语法1:
<jsp:include page="relativeURL|<%=expression%>">
<jsp:param name="paramterName" value="parameterValue|<%=expression%>" />
</jsp:include>
语法2:
<jsp:forward page="relativeURL|<%= expression%>" >
<jsp:param name="parameterName" value="parameterValue|<%=expression%>" />
</jsp:foreard>
<jsp:param>标签的那么属性用于指定参数名,value属性用于指定参数值。在<jsp:include>和
<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。
<!-- include*jsp:param -->
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<h1>JspIncludeTagDemo03.jsp</h1>
<hr/>
<jsp:include page="/jspfragments/Inc.jsp">
<jsp:param name="parm1" value="hello" />
<jsp:param name="parm2" value="gacl" />
</jsp:include>
<!-- forward*jsp:param -->
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%--使用<jsp:forward>标签跳转到forwarddemo04.jsp--%>
<%--使用<jsp:param>标签向forwarddemo04.jsp传递参数--%>
<jsp:forward page="/forwarddemo04.jsp">
<jsp:param name="ref1" value="hello" />
<jsp:param name="ref2" value="gacl" />
</jsp:forward>
jsp jsp标签的更多相关文章
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
- 重温JSP学习笔记--JSP动作标签
上一篇笔记写的是jsp的三个指令九个内置对象,这篇随笔开始写jsp的动作标签,动作标签是由服务器(Tomcat)来解释执行,与java代码一样,都是在服务器端执行的,jsp动作标签有十几多个,这里只写 ...
- JSP 自定义标签
0 标签技术的API继承体系 1 作用 jsp自定义标签用于移除页面中的java代码 2 实现 2.1 标签处理类ViewIPTag.java package com.zsm.util; import ...
- jsp简单标签开发(一)
孤傲苍狼 @Override22 public void doTag() throws JspException, IOException {23 //得到代表jsp标签体的JspFragment24 ...
- jsp的标签
一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...
- JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...
- JSP自定义标签开发入门
一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发 ...
- JSP动作标签
动作标签是一种特殊的标签,它影响JSP运行时的功能. (1)include动作标签 <jsp:include page=”文件的名字” /> <%-- 不可有 ...
- JavaBean用JSP调用和使用JSP动作标签的区别
javabean的类可以用jsp动作标签实例化并使用. <!-- 下面这句是对Javabean类person的引用,引用的实例是p2 --> <jsp:useBean id=&quo ...
- jsp动作标签概述
*Jsp动作标签概述: >动作标签的作用是用来简化java脚本 >jsp动作标签是JavaWeb内置的动作标签,它们是已经定义好的动作标签,我们可以拿来直接使用. >JavaWeb一 ...
随机推荐
- TensorFlow入门(三)多层 CNNs 实现 mnist分类
欢迎转载,但请务必注明原文出处及作者信息. 深入MNIST refer: http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mni ...
- Spark On YARN 分布式集群安装
一.导读 最近开始学习大数据分析,说到大数据分析,就必须提到Hadoop与Spark.要研究大数据分析,就必须安装这两个软件,特此记录一下安装过程.Hadoop使用V2版本,Hadoop有单机.伪分布 ...
- Python3基础 str translate 将指定字符转换成另一种特定字符
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 记录openwrt下补丁apply的过程中出错,但是可以单独打上该补丁
背景: 在openwrt的编译框架下无法正确打上补丁,而单独使用git却可以成功 这个补丁到底与其它补丁有何不同? 该补丁的生成的过程解析: 旧文件:vi 打开旧文件会提示no newline at ...
- linux下的下载之道
a.场景: 平时会使用百度网盘下载电影,但是用ios版的百度云实在是有点慢,而平时不用windows,因此只能在linux上寻找解决之道. b.背景(我正在使用中): linux:ubuntu 14. ...
- Linux 文件的权限
备注 : -rw-r--r-- 第一个“-”不算 ,三个一组 这个就是 644 二.使用chown命令更改文件拥有者 在 shell 中,可以使用chown命令来改变文件所有者.chown命令是c ...
- guulp配置编译ES6
下面是gulp的配置文件,gulp具体使用点击查看 首先全局安装下 cnpm install gulp -g gulpfile.js gulp配置文件 var gulp = require(&quo ...
- Linux——用户管理简单学习笔记(四)
主要讲两个用户管理的案例: 1: 限制用户su为root,只允许某个组的的用户su # groupadd sugroup 首先添加我们的用户组 # chmod 4550 /bin/su 改变命令的权限 ...
- 【转】VMware网络连接模式—桥接、NAT以及仅主机模式的详细介绍和区别
☞ 本文主要介绍软件『VMware Workstation(虚拟机)』的相关内容:VMware网络连接模式—桥接.NAT以及仅主机模式的详细介绍和区别. 其下列版本/分支可以参考本文: 全部版本/分支 ...
- 如何学好Java大数据并快速提升
Java作为一种最流行的,最热门的编程语言,可以说它无处不在,目前全球有着数十亿的设备正在运行着Java,很多服务器程序都是用Java编写,用以处理每天超过数以千万的数据.无论是手机软件.手机Java ...