文档章节

Jsp 标签

_
 _Roger_
发布于 2016/01/26 14:39
字数 744
阅读 44
收藏 2

一、JSP标签介绍

  JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护。

二、JSP常用标签

  jsp的常用标签有以下三个:

  • <jsp:include>标签

  • <jsp:forward>标签

  • <jsp:param>标签

2.1 <jsp:include>标签

  <jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入。 

语法:

<jsp:include page="relativeURL | <%=expression%>" flush="true|false" />
  • page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。

  • flush属性指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端。

2.1.1 <jsp:include>标签与@include指令的区别

    <jsp:include>标签是动态引入, <jsp:include>标签涉及到的2个JSP页面会被翻译成2个servlet,这2个servlet的内容在执行时进行合并。 动态包含就是指先将各个页面分别处理,处理完之后再将处理后的结果包含进来。

 而include指令是静态引入,涉及到的2个JSP页面会被翻译成一个servlet,其内容是在源文件级别进行合并。静态包含是将全部内容包含进来之后,再进行处理。

注:不管是<jsp:include>标签,还是include指令,它们都会把两个JSP页面内容合并输出,所以这两个页面不要出现重复的HTML全局架构标签,否则输出给客户端的内容将会是一个格式混乱的HTML文档。

2.1.2 *.jspf扩展名文件在 <jsp:include>、@include 和 c:import 中的区别

    JSP规范建议使用.jspf(JSP fragments)作为静态引入文件的扩展名。

    把一个JSP文件命名为jspf扩展名,然后include到另一个jsp文件中的,发现只有用”@include“指令的时候,jspf文件的内容才会被解析并执行其中的jsp指令和tag,而使用”jsp:include“和JSTL的”c:import“都没有用,jspf文件被当作纯文本文件处理了。

解决办法一:修改web.xml文件,添加对扩展名为*.jspf文件的映射

    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <!-- 让jsp扩展名同样成为JSP Servlet处理的文件。 -->
        <url-pattern>*.jsp</url-pattern>
        <!-- 让jspf扩展名同样成为JSP Servlet处理的文件。-->
        <url-pattern>*.jspf</url-pattern>
    </servlet-mapping>

2.2 <jsp:forward>

<jsp:forward>标签用于把请求转发给另外一个资源。 (服务器端跳转

语法:

<jsp:forward page="relativeURL | <%=expression%>" />

2.3 <jsp:param>

    当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。

eg:

    <jsp:include page="relativeURL | <%=expression%>">
        <jsp:param name="parameterName" value="parameterValue|<%= expression %>" />
    </jsp:include>


本文转载自:http://www.cnblogs.com/xdp-gacl/tag/JavaWeb%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/

共有 人打赏支持
_
粉丝 29
博文 82
码字总数 39915
作品 0
武汉
私信 提问
TagSupport类的声明周期

(1) 当jsp容器在解释jsp页面时,如果遇到自定义标签的开始标记,将利用“标签处理类”创建一个“标签处理对象”。在建立“标签处理对象”的过程中,jsp容器会毁掉setPageContext()方法,然...

晨曦之光
2012/05/16
33
0
jsp常用标签

:把另一个资源的输出内容插入进当前jsp页面的输出内容之中,这种在jsp页面执行时的引入方式叫做动态引入 动态引入和静态引入的区别: 静态引用是在编译jsp前简单地把源代码包含进来 动态引用...

晨曦之光
2012/05/16
399
0
JavaWeb12-HTML篇笔记(二)

Ø 为什么学习JSTL: JSTL和EL结合 替换页面中<%%> Ø JSTL版本: JSTL1.0 :不支持EL表达式. JSTL1.1 和 1.2 :支持EL表达式. Ø JSTL的标签库:包含了五类标签. core(核心标签),fmt(国际化标签)...

我是小谷粒
05/28
0
0
初识 JSP---(JSTL)

JSTL jsp标准标签库(jstl)是一个JSP标签集合,它封装了jsp应用的通用核心功能。 JSTL支持通用的、格式化的任务。比如:迭代、条件判断、XML文档操作、国际化标签、SQL标签。除了这些它还提...

姜白告
08/03
0
0
Servlet 3.0 新特性详解

简介: Servlet 是 Java EE 规范体系的重要组成部分,也是 Java 开发人员必须具备的基础技能,Servlet 3.0 是 Servlet 规范的最新版本。本文主要介绍了 Servlet 3.0 引入的若干重要新特性,包...

红薯
2010/04/23
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

docker搞个wordpress

1.先把wordpress的镜像下载下来 docker pull wordpress 2.下载mysql docker pull mysql:lastest 3.启动mysql docker run --name blog -e root -d mysql:5.7 docker run --name some-mysql -e......

无极之岚
7分钟前
0
0
【宇润日常疯测-005】PHP 中的 clone 和 new 性能比较

clone和new本不应该放在一起比较,它们的作用是不同的。但可能有一些场景下,可以用clone也可以用new,那么这时候我们选哪个呢? 我编写了两个测试,第一个是声明一个空类,第二个是带构造方...

宇润
7分钟前
0
1
点击按钮弹出类似IOS 底部 dialog

implementation 'com.baoyz.actionsheet:library:1.1.7' 然后设置按钮点击监听,,调用下列代码即可 ActionSheet.createBuilder(this, getSupportFragmentManager()) ......

lanyu96
10分钟前
1
0
专访阿里云专有云马劲,一个理性的理想主义者

“我的故事都是和团队技术相关的,自己还真没有什么引人入胜的故事。”当马劲被问到能不能多分享些个人经历故事时他笑着说,我们就干脆怀着好奇聊了聊他和阿里云专有云一路走来的故事。 马劲...

阿里云官方博客
42分钟前
1
0
java环形缓冲区

import java.util.ArrayList;import java.util.List;/** * * 环形缓冲区<br/> * 一. 写数据:<br/> * 1. push: 当数据已写满时返回false,否则可以正常写入返回true<br/>......

whoisliang
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部