JSP 学习笔记

本文介绍了JSP非凡学习笔记。分享给大家供我们参谋。具体如下:

 

Jsp包罗八个编写翻译指令和四个动作指令。
几个编写翻译指令为:page、include、taglib。

JSP是Servlet的生龙活虎种独特殊形体式,每一个JSP页面就是一个Servlet实例–JSP页面有系统一编写译成Servlet,Servlet再担当响应客户乞请。

JSP是Servlet的意气风发种极度情势,每一个JSP页面便是二个Servlet实例–JSP页面有系统一编写译成Servlet,Servlet再担当响应客商乞求。

五个动作指令为:jsp:forward、jsp:param、jsp:include、jsp:plugin、jsp:useBean、jsp:setProperty、jsp:getProperty。

1.JSP注释

1.JSP注释

生龙活虎、编写翻译指令

,与HTML注释不相同的是,编写翻译后的HTML页面不可能查看见JSP注释内容。

<%–注释内容–%>
,与HTML注释<!–注释内容–>分化的是,编写翻译后的HTML页面不可能查看到JSP注释内容。

1、 page指令

2.JSP声明

 

a. 经常坐落于jsp页面包车型大巴顶上部分,同贰个页面能够有四个page指令。语法格式如下:

JSP评释用于注脚变量和措施。JSP表明将会转移成Servlet中的成员变量或成员方法,由此,JSP注脚还是符合Java语法。

2.JSP声明

〈% @page

格式:

JSP评释用于声明变量和措施。JSP评释将会调换来Servlet中的成员变量或成员方法,由此,JSP阐明依旧切合Java语法。

[language=”Java”]

鉴于JSP注解语法定义的变量和方式对应于Servlet的成员变量和方法,所以JSP注解部分概念的变量和办法能够使用private,public等访谈调控符修饰,也足以应用static修饰,将其形成类属性和类方式。但不能够运用abstract修饰注解部分的情势,因为虚无方法将造成JSP对应的Servlet产生抽象类,进而招致无法实例化。

格式: <%! 注明部分 %>

[extends=”package.class”]

3.输出JSP表达式

<%!

[import= “package. class I package. *},…”]

语法格式:

//声惠氏个整型变量

[session=”true I false”]

只顾:输出表达式语法后不能够有分店。

public int count;

[buffer=”none I 8kb I size kb” 1

4.JSP脚本

//声Bellamy个主意

[autoFlush=”true I false”]

经过JSP脚本代码来调控页面静态内容(HTML等因素卡塔尔国

public String info(){

[isThreadSafe=”true I false”]

5.JSP的3个编译指令

    return “hello world”;

[info=”text”]

JSP编写翻译指令是打招呼JSP引擎的消息,它不直接生成输出。编译指令都有默许值。

}

[errorPage=”relativeURL”]

page:该指令是针对性前段时间页面包车型大巴一声令下。

out.println(info());

[contentType=”mimeType[ ;charset=characterSet]” I”text/html;charset=
“808859-1”]

include:用于钦赐包括另三个页面。

%>

[isErrorPage=” true I false”]

taglib:用于定义和访谈自定义标签。

出于JSP注解语法定义的变量和措施对应于Servlet的分子变量和艺术,所以JSP注明部分概念的变量和方式能够行使private,public等访谈调整符修饰,也能够动用static修饰,将其改为类属性和类形式。但不能够使用abstract修饰注解部分的法子,因为虚无方法将以致JSP对应的Servlet变成抽象类,进而以致不可能实例化。

%〉

语法格式:

 

1卡塔尔国language属性,平日情况正是java,代表jsp页面使用的脚本语言。

5.1.page指令

3.输出JSP表达式

2卡塔尔国Extends属性,显著 JSP 程序编译时所产生的 Java
类,要求持续的父类,只怕要求实现的接口的全节制类名。

page指令属性有:language,extends,import,session,buffer,autoFlush,info,errorPage,isErrorPage,contentType

语法格式:<%=表明式%>

1.import属性,用来导入包,上边多少个包是暗许自动导入的,无需显式导入。私下认可导入的包有:

5.2.include指令

<%!

java.lang.*

采用include指令,能够将一个外表文件嵌入到近期JSP文件中,同偶然候剖判那些页面中的JSP语句(固然有个别话卡塔尔(قطر‎。那是个静态的include语句,它会把目的页面包车型地铁其余编译指令也带有进来,但动态include则不会。

public int count;

javax.servlet.*

include不只能够分包静态的文书,也足以蕴含动态的JSP页面。静态的include编写翻译指令会将被含有的页面参预本页面,融合成二个页面。

public String info(){

javax.servlet.jsp.*

include指令语法:

    return “hello world”;

javax.servlet.http.*

假若被放置的文本常常须求改造,建议接纳操作指令,因为它是动态的include语句。

}

2.Session属性,设定那一个 JSP 页面是还是不是须要 HTIP session 。

静态富含意义:包括页面在编写翻译时将完全包罗了被含有页面包车型大巴代码。

%>

3.buffer属性,钦定输出缓冲区的大大小小。输出缓冲区的 JSP 内部对象: out
用于缓存 JSP页直面顾客浏览器的输出,私下认可值为 8kb,能够设置为 none
,也足以安装为此外值,单位为kb

6.JSP的 7个动作指令

<!–使用表明式输出变量值–>

4.autoFlush属性,当输出缓冲区将在溢出时,是还是不是需求强逼输出缓冲区的剧情。设置为true
时为正规输出;若是设置为 false ,会在 buffer 溢出时产生一个丰富。

动作指令与编译指令分化,编写翻译指令是打招呼Servlet引擎的管理消息,而动作指令知识运维时的脚本动作。编写翻译指令在将JSP编写翻译成Servlet时起效果;而动作指令日常可替换来JSP脚本,是JSP脚本的尺度写法。

<%=count++%>

5.Info属性,设置该 JSP 程序的音讯,也能够用作其认证,能够透过 Servlet.
getServletInfo(State of Qatar方法赢得该值。尽管在 JSP 页面中,可平昔调用
getServletInfoO方法获得该值,因为 JSP 页面包车型大巴真面目正是 Servlet 。

jsp:forward:实施页面转向,将呼吁的拍卖转载到下四个页面。

<!–使用表达式输出方法再次回到值–>

errorPage属性,钦命错误处理页面。假诺本程序发生了特别或许不当,而该 JSP
页面未有对应的拍卖代码,则会自行调用该指令所钦定的 JSP 页面。使用 JSP
页面时,可以不处理特别,纵然是 checked
万分。(重定向到对应的错误管理页面,可是USportageL依然原来的U昂科雷l,并不产生变化)倘若这么些页面空中楼阁此个性子,那么只要代码出现问题,就能够在开采蒙受和IE浏览器上提醒错误。可以知道那条属性决定特别管理的功用在表现形式上要好的多。

jsp:param:用于传递参数,必得与任何辅助参数的竹签一同使用。

<%=info()%>

6.IsErrorPage属性,设置本 JSP
页面是还是不是为错误管理程序。假使该页面自己己是错误管理页面,则毫不使用
errorPage 属性。

jsp:include:用于动态引进多个JSP页面。

留意:输出表明式语法后不能够有总局。

7.ContentType属性,用于设定生成网页的文件格式和编码方式,即 MIME
类型和页面字符集类型,默许的 MIME 类型是 text/html; 暗中认可的字符集为
ISO-8859-1 。

jsp:plugin:用于下载JavaBean或Applet到客户端试行。

 

2、 include指令

jsp:useBean:创造叁个JavaBean的实例。

4.JSP脚本

运用 include 指令,能够将二个表面文件嵌入到最近 JSP
文件中,相同的时候解析那一个页面中的 JSP 语句(假如局地话State of Qatar。那是个静态的 include
语旬,不会检讨所包括 JSP 页面包车型大巴变迁。

jsp:setProperty:设置JavaBean实例的属性值。

因此JSP脚本代码来决定页面静态内容(HTML等成分卡塔尔(قطر‎

include 不仅能够包含静态的文件,也可以满含动态的 JSP
页面。静态的编写翻译指令include
,是将被含有的页面参加进来,生成二个完好无损的页面。

jsp:getProperty:输出JavaBean实例的属性值。

<%

include 编写翻译指令的语法:

6.1.forward指令

for(int i=0;i<10;i++){

〈% @include file=”relativeURLSpec” %〉

forward指令用于将页面响应转发给别的的页面。不仅可以够转载给静态的HTML页面,也得以转账到动态的JSP页面,或许转载到容器的Servlet。

%>

要是被放置的文本常常须要退换,提出选取<jsp:include>操作指令,因为它是动态的
include 语句。

JSP的forward指令语法格式:

<tr><td><%=i%></td></tr>

包涵include指令的jsp页面在构造后,经过拜候编写翻译生成java文件,在tomcat的
workCatalinalocalhostprojectorgapachejsp目录下会调换对应的java文件,这个文件与jsp的名字同样,他带有了编写翻译后的代码,以致include满含的此外五个jsp的代码也被相应的参与了进来。

 {}

<%}%>

二、 动作指令

伸手参数的值能够由此HttpServletRequest类的getParameter(卡塔尔方法拿到。

 

1、 forward指令:forward
指令用于将页面响应调整转载给别的的页面。不只能够转载给静态的
HTML页面,也得以转账到动态的 JSP 页面,恐怕转载到容器中的 Servlet。

相应的在forward-result.jsp页面能够透过request内置对象来得到age参数值。

5.JSP的3个编译指令

JSP 的 forward 指令的格式如下:

实施forward指令时,转载不是重定向,所以恳请的地方未有产生改动,当然乞求的参数也不会屏弃。但页面内容却截然成为被forward目的页的内容。

JSP编写翻译指令是通报JSP引擎的音信,它不直接生成输出。编写翻译指令都有暗许值。

对于 JSP 1. 0 ,使用如下语法:

6.2.include指令

page:该指令是针对当前页面包车型地铁指令。

<jsp:forward page=”{relativeURL |<%=expression%>}” />

include指令是一个动态include指令,也用于导入某些页面,它不会导入被include页面包车型大巴编写翻译指令,仅仅将被导入页面包车型大巴body内容插入本页面。

include:用于钦赐包含另多少个页面。

可应用如下语法:

include动作指令的语法格式:

taglib:用于定义和做客自定义标签。

<jsp:forward page=”{relativeURL |<%=expression%>}”>

复制代码 代码如下:

语法格式:<%@ 编写翻译指令名 属性名=”属性值”…%>

{<jsp:param…/>}

 

</jsp:forward>

flush属性用于钦赐输出缓存是或不是转移到被导入文本中。要是钦点为true,则带有在被导入文本中;假使钦定为false,则含有在原来的书文件中。例:

5.1.page指令

其次种语法用于在转变时扩大额外的呼吁参数。扩张的倡议参数的值能够由此HttpServletRequest
类的 getParameter方法获取。

静态导入和动态导入不一样:

page指令属性有:language,extends,import,session,buffer,autoFlush,info,errorPage,isErrorPage,contentType

2、
include指令,它是二个动态的授命,能够用于导入某些页面。它的导入会每一次检查被导入页面包车型地铁改变。下边是include指令的施用格式:

a.静态导入是将被导入页面包车型大巴代码完全融入,多少个页面融合成一个总体Servlet;
而动态导入则在Servlet中利用include方法来引进被导入页面包车型客车剧情。

<%@ page contentType=”text/html; charset=gb2312″ language=”java”
%>

<jsp:include page=”{relativeURL |<%=expression%>}” flush=”true”
/>

b.静态导入时被导入页面包车型客车编写翻译指令会起作用;而动态导入时被导入页面包车型地铁编写翻译指令则失去成效,只是插入被导入页面包车型地铁body内容。

<% page import=”java.sql.*”%>

或者:

除开,实施Include动态指令时,还足以扩展额外的要求参数。

 

<jsp:include page=”{relativeURL |<%=expression%>}”
flush=”true”>

实则,forward动作指令和include动作指令很常常,它们选择方法来引进指标页面,通过查阅JSP页面所生成Servlet代码能够摄取:forward指令使用_jspx_page_context的forward(卡塔尔国方法来引进目的页面,而include指令则接收通过JspRuntimeLibrary的include(卡塔尔国方法来引进指标页面。差异在于,施行forward时,被forward的页面将完全代表本来页面;而实行include时,被include的页面只是引入原有页面。同理可得:forward拿指标页面代替本来页面,而include则拿目的页面插入原有页面。

5.2.include指令

<jsp:param name=”paramName” value=”paramValue”/>

6.3.useBean,setProperty,getProperty指令

利用include指令,可以将三个外界文件嵌入到当下JSP文件中,同一时候深入分析那么些页面中的JSP语句(假设部分话卡塔尔。那是个静态的include语句,它会把对象页面的别的编写翻译指令也含有进来,但动态include则不会。

</jsp:include>

那3个指令都以与JavaBean相关的一声令下,在那之中useBean指令用于在JSP页面中起头化二个Java实例;setProperty指令用于为JavaBean实例的性质设置值;getProperty指令用于输出JavaBean实例属性。

include不仅可以够包涵静态的公文,也能够包蕴动态的JSP页面。静态的include编写翻译指令会将被含有的页面参加本页面,融入成一个页面。

flush
属性用于钦赐输出缓存是还是不是转移到被导入文本中。借使钦定为剧。则含有在被导入文本中;倘若钦命为false,则含有在原作件中。对于JSP
1.1之下的旧版本,只能设置为false。

useBean语法格式:

include指令语法:<%@include file=”relativeU本田CR-VLSpec”%>

<include>和<jsp:include>分别为静态导入和动态导入。他们的的分歧:静态导入是将被导入页面包车型地铁代码完全插入,多少个页面生成三个朝气蓬勃体化的
Servlet; 而动态导入则在 Servlet 中运用动态导入,进而将页面引进。

中间,id属性是JavaBean的实例名,class属性鲜明JavaBean的落到实处类。scope属性用于钦命JavaBean实例的生存范围。

倘若被平放的文本日常索要更动,建议采用<jsp:include>操作指令,因为它是动态的include语句。

3、 useBean、setProperty和getProperty指令

setProperty指令语法格式:

静态包涵意义:富含页面在编写翻译时将完全富含了被含有页面包车型大巴代码。

那七个指令都是与JavaBean相关的吩咐,个中useBean用于在jsp页面起头化叁个java实例,setProperty用于改进JavaBean实例的性质,getProperty用于获取JavaBean实例的习性。

getProperty指令语法格式:

 

useBean的语法格式:

例:

6.JSP的 7个动作指令

<jsp:useBean id=”” class=”” scope=”page | request |session |
application” >

7.JSP脚本中的9个放置对象

动作指令与编写翻译指令分歧,编写翻译指令是通报Servlet引擎的拍卖新闻,而动作指令知识运转时的台本动作。编写翻译指令在将JSP编写翻译成Servlet时起作用;而动作指令平常可替换到JSP脚本,是JSP脚本的规范化写法。

Id是JavaBean的实例名,class属性确定JavaBean的达成类。Scope属性分明生存范围【页面、要求、会话、应用】

application,config,exception,out,page,pageContext,request,response,session

jsp:forward:实施页面转向,将呼吁的管理转载到下一个页面。

setProperty的语法格式:

application:javax.servlet.ServletContext的实例,该实例代表JSP所属的Web应用本人,可用来JSP页面,或许Servlet之间调换新闻。常用艺术:getAttribute,setAttribute,getInitParameter.

jsp:param:用于传递参数,必需与其余帮助参数的价签一齐利用。

<jsp:setProperty name=”” property=”” value=”” />

config:javax.servlet.ServletConfig的实例,该实例代表该JSP的配置新闻。常用的办法有getInitParamter,getInitParameternames,事实上,JSP页面经常不需求计划,也就不设有配置音信。由此,该对象更多地在Servlet中央银一蹴而就。

jsp:include:用于动态引进一个JSP页面。

Name属性分明须要设定

exception:Java.lang.Throwable的实例,该实例代表任何页面中的万分和谬误。唯有当页面是错误管理页面,即编写翻译指令page的isErrorPage属性为true时,该目的才方可选拔。常用的措施有getMessage(卡塔尔和printStackTrace(卡塔尔国等。

jsp:plugin:用于下载JavaBean或Applet到客商端实施。

4、 plugin指令

out:javax.servlet.jsp.JspWriter的实例,该实例代表JSP页面包车型客车输出流,用于出口内容,形成HTML页面。

jsp:useBean:创造二个JavaBean的实例。

plugin 指令首要用来下载服务器端的 JavaBean 或 Applet
到客户端实施。由于程序在客商端实施,因而顾客端必得设置虚构机。

page:代表页面自个儿,日常未有太大用途. 约等于Servlet中的this.

jsp:setProperty:设置JavaBean实例的属性值。

plugin 的语法格式如下:

pageContext:javax.servlet.jsp.PageContext的实例,该对象表示该JSP页面上下文,使用该指标足以访谈页面中的分享数据。常用艺术有getServletContext(State of Qatar和getServletConfig(卡塔尔国等。

jsp:getProperty:输出JavaBean实例的属性值。

<jsp:plugin type=”bean | applet”

request:javax.servlet.http.HttpServletRequest的实例,该指标封装了二遍倡议。顾客端的央浼参数都被封装在该对象里。是个常用对象,获取客商端诉求参数必需接收该对象。常用艺术有getParameter,getParameterValues,setAttribute,getAttribute,setCharacterEncoding.

 

code=”classFileName”

response:javax.servlet.http.HttpServletResponse的实例,代表服务器端对客商端的响应。经常超级少使用该指标直接响应,而是使用out对象,除非需求更换非字符响应。而response对象常用来重定向,常用方法:getOutputStream(卡塔尔,sendRedirect.

6.1.forward指令

codebase=”classFileDiretoryName”

session:javax.servlet.http.HttpSession的实例,该对象表示一遍对话。常用艺术:getAttribute,setAttribute.

forward指令用于将页面响应转发给其它的页面。不仅可以够转发给静态的HTML页面,也能够转变到动态的JSP页面,或然转载到容器的Servlet。

[name=” instanceName”]

8.JSTL JSP专门的工作标签库

JSP的forward指令语法格式:

[archive=”URLtoArchive”]

JSP的标签函数库首要分为中国共产党第五次全国代表大会类:

<jsp:forward page=”{relativeURL|<%=expression%>}”>

[align= “bottom I top I middle I left I right”]

JSTL 前置名称 URI 范例
核心标签库 c http://java.sun.com/jsp/jstl/core
I18N格式标签库 fmt http://java.sun.com/jsp/jstl/fmt
SQL标签库 sql http://java.sun.com/jsp/jstl/sql
XML标签库 Xml http://java.sun.com/jsp/jstl/xml
函数标签库 fn http://java.sun.com/jsp/jstl/functions

    {<jsp:param…/>}

[heigh=”displayPixels”]

基本标签库

</jsp:forward>

[width=”displayPixels”]

功能分类

标签名称

表达式操作

out、set、remove、catch

流程控制

if、choose、when、otherwise

迭代操作

forEach、forTokens

URL操作

import、param、url、redirect

恳请参数的值能够经过HttpServletRequest类的getParameter(卡塔尔国方法得到。

[hspace=”leftRightPixels”]

使用:

<jsp:forward page=”forward-result.jsp”>

[vspace=”topBottomPiexels”]

将标签库中颇负的.jar包(内部是装有的竹签微处理机卡塔尔国放到/WEB_INF/lib下,

    <jsp:param name=”age” value=”29″/>

[jreversion=JREVersionNumber|1.2″]

将享有的.tld(内部是全体的标签库描述State of Qatar放到/WEB-INF/tlds下

</jsp:forward>

[nspluginurl=”URLToPlugin”]

9.EL表达式

对应的在forward-result.jsp页面能够通过request内置对象来获取age参数值。

[iepluginurl=”URLToPlugin”]>

${sessionScope.user.sex}

<%=request.getParameter(“age”)%>

[<jsp:parames>

全部EL都以以${为开端、以}为终极的。

进行forward指令时,转载不是重定向,所以恳请之处未有产生更换,当然乞请的参数也不会舍弃。但页面内容却截然成为被forward指标页的开始和结果。

[jsp:param name=”parameterName” value=”parameterValue” />]

EL 提供 . 和 [ ] 三种运算符来导航数据。下列两个所代表的意味是后生可畏律的:

 

</jsp:params>]

${sessionScope.user.sex}等于${sessionScope.user[“sex”]}

6.2.include指令

[<jsp:fallback>text message for user that can no see the plugin

. 和 [ ] 也能够而且混合使用,如下:

include指令是贰个动态include指令,也用于导入某些页面,它不会导入被include页面的编写翻译指令,仅仅将被导入页面包车型客车body内容插入本页面。

</jsp:fallback> ]

${sessionScope.shoppingCart[0].price}

include动作指令的语法格式:

</jsp:plugin>

盼望本文所述对大家的JSP程序设计具备利于。

<jsp:include page=”{relativeURL|<%=expression%>}”
flush=”true”/>

那些属性的辨证如下:

Type: 钦赐被推行的java程序的体系,是八个bean如故叁个applet

<jsp:include page=”{relativeURL|<%=expression%>}”
flush=”true”>

Code: 钦定被推行的文件名,该属性值必需以“.class”扩充名结尾

    <jsp:param name=”parameterName” value=”patameterValue”/>

Codebase: 钦赐被推行的文件目录。

</jsp:include>

Name: 给该程序起二个名字用来标记该程序。

flush属性用于指定输出缓存是不是转移到被导入文本中。要是钦命为true,则带有在被导入文本中;假设钦点为false,则含有在最早的著工件中。例:<jsp:include
page=”scriptlet.jsp”/>

Archive: 指向部分要事情发生早先载入的将在利用到的类的不二秘技。

静态导入和动态导入差别:

Hspace,Vspace: 呈现左右内外的留白。

a.静态导入是将被导入页面的代码完全融合,五个页面融合成三个安然还是Servlet;
而动态导入则在Servlet中利用include方法来引进被导入页面包车型客车从头到尾的经过。

jreversion: 能正确运维改程序必须的JRE版本。

b.静态导入时被导入页面包车型客车编写翻译指令会起成效;而动态导入时被导入页面的编写翻译指令则失去成效,只是插入被导入页面包车型大巴body内容。

Nsplugin,ieplugin: Netscape Navigator, Internet Exploer 下载运行所需JRE
的地点。

除了,奉行Include动态指令时,还是可以扩大额外的伸手参数。

<jsp:fallback>指令:当无法精确展现该applet时,代替展现的提示音信。

实际上,forward动作指令和include动作指令很相仿,它们接受方法来引进指标页面,通过翻看JSP页面所生成Servlet代码能够吸取:forward指令使用_jspx_page_context的forward(State of Qatar方法来引进目的页面,而include指令则动用通过JspRuntimeLibrary的include(卡塔尔方法来引进指标页面。差别在于,实行forward时,被forward的页面将完全替代本来页面;而实施include时,被include的页面只是引进原有页面。综上说述:forward拿目的页面代替本来页面,而include则拿目的页面插入原有页面。

5、 param指令

6.3.useBean,setProperty,getProperty指令

param指令用于安装参数值,这一个命令自身不能够独立使用,因为单独使用没风趣。它能够和以下多少个指令合起来使用

那3个指令都是与JavaBean相关的命令,个中useBean指令用于在JSP页面中早先化三个Java实例;setProperty指令用于为JavaBean实例的习性设置值;getProperty指令用于输出JavaBean实例属性。

jsp:include

useBean语法格式:<jsp:useBean id=”name” class=”classname”
scope=”page|request|session|application” />

jsp:forward

里面,id属性是JavaBean的实例名,class属性鲜明JavaBean的贯彻类。scope属性用于钦命JavaBean实例的生活范围。

jsp:plugin

setProperty指令语法格式:<jsp:setProperty name=”BeanName”
property=”propertyName” value=”value”/>

 

getProperty指令语法格式:<jsp:getProperty name=”BeanName”
property=”propertyName”/>


例:

日子原因权且总计到此处,下一次后续,如有错误应接提议!

<!– 制造com.company.Person的实例,该实例的实例名位p1 –>

<jsp:useBean id=”p1″ class=”com.company.Person” scope=”page”/>

<!– 设置p1的name属性值 –>

<jsp:setProperty name=”p1″ property=”name”  value=”zhangsan”/>

<jsp:setProperty name=”p1″ property=”age” value=”25″/>

<!– 输出p1的name属性值–>

<jsp:getProperty name=”p1″ property name=”name”/>

 

7.JSP脚本中的9个放置对象

application,config,exception,out,page,pageContext,request,response,session

application:javax.servlet.ServletContext的实例,该实例代表JSP所属的Web应用本人,可用以JSP页面,可能Servlet之间沟通音讯。常用艺术:getAttribute,setAttribute,getInitParameter.

config:javax.servlet.ServletConfig的实例,该实例代表该JSP的安插消息。常用的措施有getInitParamter,getInitParameternames,事实上,JSP页面平时无需配备,也就不真实配置音信。由此,该指标更加多地在Servlet中有效。

exception:Java.lang.Throwable的实例,该实例代表任何页面中的相当和错误。唯有当页面是错误处理页面,即编写翻译指令page的isErrorPage属性为true时,该对象才干够运用。常用的措施有getMessage(卡塔尔国和printStackTrace(卡塔尔(قطر‎等。

out:javax.servlet.jsp.JspWriter的实例,该实例代表JSP页面包车型地铁输出流,用于出口内容,产生HTML页面。

page:代表页面自己,常常未有太大用场. 也正是Servlet中的this.

pageContext:javax.servlet.jsp.PageContext的实例,该对象表示该JSP页面上下文,使用该目的足以访谈页面中的分享数据。常用艺术有getServletContext(卡塔尔国和getServletConfig()等。

request:javax.servlet.http.HttpServletRequest的实例,该对象封装了三次呼吁。客商端的央浼参数都被封装在该对象里。是个常用对象,获取顾客端诉求参数必须接纳该指标。常用艺术有getParameter,getParameterValues,setAttribute,getAttribute,setCharacterEncoding.

response:javax.servlet.http.HttpServletResponse的实例,代表劳务器端对顾客端的响应。平常少之甚少使用该目的直接响应,而是利用out对象,除非须要扭转非字符响应。而response对象常用于重定向,常用方法:getOutputStream(卡塔尔国,sendRedirect.

session:javax.servlet.http.HttpSession的实例,该目的表示一回对话。常用艺术:getAttribute,setAttribute.

 

8.JSTL JSP专门的学问标签库

JSP的标签函数库首要分为中国共产党第五次全国代表大会类:

JSTL

前置名称

URI

范例

核心标签库

c

http://java.sun.com/jsp/jstl/core

<c:out>

I18N格式标签库

fmt

http://java.sun.com/jsp/jstl/fmt

<fmt:formatDate>

SQL标签库

sql

http://java.sun.com/jsp/jstl/sql

<sql:query>

XML标签库

Xml

http://java.sun.com/jsp/jstl/xml

<x:forEach>

函数标签库

fn

http://java.sun.com/jsp/jstl/functions

<fn:split>

主干标签库

功能分类

标签名称

表达式操作

out、set、remove、catch

流程控制

if、choose、when、otherwise

迭代操作

forEach、forTokens

URL操作

import、param、url、redirect

 

使用:

将标签库中负有的.jar包(内部是负有的标签微电脑State of Qatar放到/WEB_INF/lib下,

将富有的.tld(内部是怀有的标签库描述卡塔尔国放到/WEB-INF/tlds下

<%@ page contentType=”text/html;charset=gbk” language=”java”%>

<%@ taglib uri=”” prefix=”c”%>

<c:out value=”${param.name}” default=”welecome jgl to my
website!”/>

 

9.EL表达式

${sessionScope.user.sex}

全体EL都是以${为发端、以}为终极的。

EL 提供 . 和 [ ] 三种运算符来导航数据。下列两个所表示的乐趣是大同小异的:

${sessionScope.user.sex}等于${sessionScope.user[“sex”]}

. 和 [ ] 也足以同一时候混合使用,如下:

${sessionScope.shoppingCart[0].price}

发表评论

电子邮件地址不会被公开。 必填项已用*标注