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一 ...
随机推荐
- Online Judge 2014 K-th Number -主席树
You are working for Macrohard company in data structures department. After failing your previous tas ...
- SQL语句 查询同一个字符在某一个字符串中出现的次数
select len(replace(字段名A,';','--'))-len(字段名A) from table表名
- 【angular2+typeScript+ng-zorro】Carousel 走马灯的左右方向控件实现
ng-zorro Carousel 走马灯的左右方向控件实现 ng-zorro框架的走马灯本身还没有左右方向控件的实现,作者只是在文档中(0.6x)中曝出几个方法接口,如图: 实现: 在根compon ...
- 地宫取宝|2014年蓝桥杯B组题解析第九题-fishers
地宫取宝 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...
- 自定义redis序列化工具
redis一个优点就是可以将数据写入到磁盘中. 我们知道写入磁盘的数据实际上都是以字节(0101这样的二进制数据)的形式写入的. 这意味着如果我们要将一个对象写入磁盘,就必须将这个对象序列化. jav ...
- 项目梳理4——WebApi项目,使用注释填充Description字段
web.config中添加连接字符串: 为webapi添加Description,使用注释来填充此字段 对于所有引用的xxxx.base项目设置生成的xml文档,注意release.debug下都需设 ...
- mysql中时间计算函数SQL DATE_SUB()用法
本文为博主原创,未经允许不得转载: 在写sql的时候,经常要在sql中传值时间,对时间进行计算并过滤.之前都是将时间在后台计算好,直接传值给sql, 今天发现,有一个更方便的sql函数,可以简化很多代 ...
- 正则表达式及R字符串处理之终结版
http://yphuang.github.io/blog/2016/03/15/regular-expression-and-strings-processing-in-R/ 0.动机:为什么学习字 ...
- [调试][程序打印]当printf不能用时,使用C++的不定参数来搞定OutputDebugString打印
void _trace( char* str , ...) //类似printf{ va_list vlist; va_start(vlist , str ); char a [100] ; vspr ...
- JavaScript 基础知识入门
js3种弹出框 alert消息对话框 var mychar=I love JavaScript;alert(mychar); confirm消息对话框 返回值:bool var mymessage ...