文档章节

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
武汉
web项目中web.xml的作用

每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。 web.xml文件是用来...

ChinaHYF
04/27
0
0
(JavaEE-08)JSP九大隐式对象

JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用...

_-Leon-_
2014/07/07
0
0
TagSupport类的生命周期具体执行过程

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

xjcyxyx
2014/03/18
0
0
浅谈jsp、freemarker、velocity区别

以前做web开发页面层用的基本就是就是,最近公司java项目页面层用的技术是velocity。听说jsp要淘汰,也不知道是真是假,但本人还是比较喜欢jsp的,下面是网上查找的javaweb项目页面3种技术的...

cccyb
2017/10/21
0
0
与区别

我们都知道在jsp中include有两种形式,分别是Include指令:和include动作:。前者是指令元素、后者是行为元素。具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看到它都会想到的...

陶邦仁
2015/04/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
27分钟前
1
0
fullcalendar重新渲染

uiCalendarConfig.calendars.lesson_calendar.fullCalendar('removeEvents');var ym = uiCalendarConfig.calendars.lesson_calendar.fullCalendar('getView').title;$scope.get_lesson(y......

人来疯啊
31分钟前
1
0
多渠道打包总结

https://www.jianshu.com/p/2130db7584c8 https://blog.csdn.net/u011153817/article/details/50772496...

塔塔米
40分钟前
1
0
android -------- Data Binding的使用 ( 六) 自定义属性

今天来说说DataBinding在自定义属性的使用 默认的android命名空间下,我们会发现并不是所有的属性都能直接通过data binding进行设置,比如margin,padding,还有自定义View的各种属性。 默认...

切切歆语
46分钟前
1
0
收邮件 下载附件

uses IdMessage, IdMessageParts, IdAttachment, IdGlobalProtocols, ...;procedure SaveAttachmentsFromFile(FileName: String)var IdMessage: TIdMessage; MsgPart: Ti......

vga
52分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部