JSP动作和内置对象

前言:
         这节的内容很简单,简单总结下。


一、动作元素

动作元素:主要在请求处理阶段起作用,能够影响输出流和对象的创建、使用修改等,它按照XML语法进行书写。

动作元素分为两类:

  • 一类是标准的动作元素。
  • 一类是用户或第三方提供的定制动作。

JSP中常用的动作元素有三个:Include、forward、param。

1、include动作

  • <jsp:include>操作允许JSP页面在执行过程中包含静态和动态页面,静态页面直接将内容加入到包含JSP页面中,动态页面先由服务器进行执行,然后将执行后的结果合并到包含页面中。

格式:

<jsp:include page="relativeURL|<%=expression%>" flush=true|false/>

其中,page表示所包含文件的相对URL,可以是一个字符串也可以是JSP表达式;flush的值为true时,表示当缓冲区满时将被清空,默认为false。

与指令包含的对比

beincluded.jsp(被包含文件)

<%@ page pageEncoding="gbk" %>
<font color=red size=7>Hello EveryOne</font>

inc1.jsp(动作包含)

<%@ page pageEncoding="gbk" %>
动作包含:<p>
<jsp:include page="beincluded.jsp"/>

inc2.jsp(指令包含)

<%@ page pageEncoding="gbk" %>
指令包含:<p>
<%@ include file="beincluded.jsp"%>

二者包含方式的不同:

  • 动作包含:运行时包含文件
  • 指令包含:编译时包含文件

编译和运行的区别:

1.编译就是将java代码交给编译器进行语法检查,如果没有错误就生成.class文件
2.运行就是将字节码文件(.class)交给java虚拟机执行,如果没有逻辑错误,就成功出现结果。

注:
如果被包含文件很少发生变化,那么请使用指令进行包含,其运行速度快于 jsp:include;使用jsp:include 包含内容经常发生变化的内容。

2、forward动作

  • <jsp:forward>动作允许将当前的请求转发至另一个动态页面或Servlet。

格式:

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

其中,page表示要转发文件的相对URL,可以是个字符串也可以是一个JSP表达式。
注意:一旦JSP页面中使用<jsp:forward>标签,其后的程序将无法执行!

例:
now.jsp(当前文件):

<%@ page contentType="text/html;charset=gb2312"%>
跳转之前的内容
<jsp:forward page="next.jsp"/>
跳转之后的内容

next.jsp(跳转的目的地文件):

<%@ page contentType="text/html;charset=gb2312"%>
这里是跳转之后的next.jsp

3、param动作

  • <jsp:param>传递一个或多个参数到指定的动态文件,需要和<jsp:include><jsp:forward>一起使用,能在一个页面中使用多个<jsp:param>来传递多个参数。

格式:

<jsp:param name="pName" value="pValue">

例如:

<jsp:param name="user" value="jason"/>
<jsp:param name="pwd" value="123"/>

当在用<jsp:include><jsp:forward>时,被包含的页面或转向后的页面会首先看看request对象中除了原本的参数值以外,有没有再增加新的参数值,如果有新增加的参数值时,则新的参数值在执行时,有较高的优先权。

二、内置对象

什么是内置对象?

  • 答:JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。在JSP页面中,可以通过存取JSP内置对象实现与JSP页面和Servlet环境的相互访问。

JSP中一共预先定义了9个这样的对象,分别为:
在这里插入图片描述
具体的用法和servlet的使用基本一样,只是不用先声明了,就不总结了 = ̄ω ̄=

🆗,这次的动作元素和内置对象就总结到这了。

posted @ 2022-02-19 22:21  未完成的歌QAQ  阅读(45)  评论(0编辑  收藏  举报