`
aijuans
  • 浏览: 1547818 次
社区版块
存档分类
最新评论

JSP介绍与示例展示

 
阅读更多

 JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库提供了一种和平台无关的扩展服务器性能的方法。

JSP被JSP编译器编译成Java Servlets。一个JSP编译器可以把JSP编译成JAVA代码写的servlet然后再由JAVA编译器来编译成机器码,

也可以直接编译成二进制码。

示例:

 1 <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" %> 
 2 <html> 
 3 <head> <title>最早的jsp写法</title> </head> 
 4 <body> 
 5 <%   
 6     // 控制台打印一台话  
 7     System.out.println("最早的jsp写法,java做为角本语言加入jsp网页当中,做相关的交互工作."); 
 8  %>  
 9 <%  
10     // java语言的循环  
11     for(int i=0;i<10;i++)  {   
12 %>  
13 test
14 <br>  
15 <%  
16       }  
17 %> 
18 </body></html>

JSP 介绍之标准标记库与EL表达式语言

JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括

迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。

EL 提供了一些标识符、存取器和运算符,用来检索和操作驻留在 JSP 容器中的数据。

JSTL语法及参数

JSTL包含以下的标签:

常用的标签:如<c:out>、<c:remove>、<c:catch>、<c:set>等

条件标签:如<c:if><c:when>、<c:choose>、<c:otherwise>等

URL标签:如<c:import>、<c:redirect>和<c:url>等

XML标签:如<xml:out>等

国际化输出标签:如<fmt:timeZone>等

SQL标签:如<sql:query>、<sql:update>、<sql:transaction>等

一般用途的标签:

1.<c:out>

没有Body时的语法

<c:out value=”value” [escapeXml=”{true|false}”] [default=”defaultValue”]/>

有Body时的语法

<c:out value=”value” [escapeXml=”{true|false}”]>

这里是Body部分

</c:out>

名字 类型 描述

value Object 将要输出的表达式

escapeXml boolean 确定以下字符:<,>,&,’,”在字符串中是否被除数,默认为true

default Object 如果vaule计算后的结果是null,那么输出这个默认值

2.<c:set>

这个标签用于在某个范围(page、request、session、application等)中使用某个名字设定特定的值,或者设定某个已经存在的

javabean对象的属性。他类似于<%request.setAttrbute(“name”,”value”);%>

语法1:使用value属性设定一个特定范围中的属性。

<c:set value=”value” var=”varName” [scope=”{page|request|session|application}”]/>

语法2:使用value属性设定一个特定范围中的属性,并带有一个Body。

<c:set var=”varName” [scope=”{page|request|session|application}”]>

Body部分

</c:set>

语法3:设置某个特定对象的一个属性。

<c:set value=”value” target=”target” property=”propertyName”/>

语法4:设置某个特定对象的一个属性,并带有一个Body。

<c:set target=”target” property=”propertyName”>

Body部分

</c:set>

名字 类型 描述

value Object 将要计算的表到式。

var String 用于表示value 值的属性,如果要在其他标签中使用,就是通过这 个var指定的值来进行的。它相当于在标签定义了一

个变量,并且这个变量只能在标签中的一个。

scope String var的有效范围,可以是page|request|session|application中的一个

target String 将要设置属性的对象,它必须是javabean或则java.util.Map对象

property Object 待设定的Target对象中的属性名字,比如在javabean中有个name属性,提供了setUserId方法,那么这里填userId

3.<c:remove>

<c:remove var=”varName” [scope=”{page|request|session|application}”]/>

4.<c:catch>

这个标签相当于捕获在它里边的标签抛出的异常对象

<c:catch [var=”varName”]> //var是异常的名字

内容

</c:catch>

条件标签

1. <c:if>

语法1:无Body情况

<c:if test=”testCondition” var=”varName” [scope=”page|request|session|application”]/>

语法2:有Body的情况

<c:if test=”testCondition” var=”varName” [scope=”page|request|session|application”]>

Body内容

</c:if>

名字 类型 描述

test Boolean 表达式的条件,相当于if()中的条件判断语句。

var String 表示这个语句的名字。

scope String var这个变量的作用范围。

2.<c:choose>

语法:<c:choose>

Body内容(<c:when>和<c:otherwise>子标签)

</c:choose>

注意:它的Body只能由以下元素组成:

1) 空格

2) 0或多个<c:when>子标签,<c:when>必须在<c:otherwise>标签之前出现.

3) 0个或多个<c:otherwise>子标签。

3.<c:when>

代表的是<c:choose>的一个条件分支,只能在<c:choose>中使用

语法:<c:when test=”testCondition”> //test是boolean类型,用于判断条件真假

Body语句

</c:when>

4.<c:otherwise>

代表的是<c:choose>中的最后选择。必须在最后出现

<c:otherwise>

内容

</c:otherwise>

迭代标签

1.<c:forEach>

语法1:在Collection中迭代

<c:forEach[var=”varName”] items=”collection” [varStatus=”varStatusName”]

[begin=”begin”] [end=”end”] [step=”step”]

Body内容

</c:foeEach>

语法2:迭代固定的次数.

<c:forEach [var=”varName”] [varStatus=”varStatusName”]

[begin=”begin”] [end=”end”] [step=”step”]

Body内容

</c:foeEach>

名字 类型 描述

var String 迭代的参数,它是标签参数,在其他标签中通过它来引用这个标签中的内容。

Items Collection、ArrayList、 要迭代的items集合.

Iterator、Map、String、

Eunmeration等

VarStatus String 表示迭代的状态,可以访问迭代自身的信息

Begin int 表示开始迭代的位置。

End int 表示结束迭代的位置。

Step int 表示迭代移动的步长,默认为1。

URL相关的标签

1.<c:import>

语法1:资源的内容使用String对象向外暴露

<c:import url=”url” [context=”context”]

[var=”varName”] [scope=”{page|request|session|application}”] [charEncoding=”charEncoding”]>

内容

</c:import>

语法2:资源的内容使用Reader对象向外暴露。

<c:import url=”url” [context=”context”]

varReader=”varReaderName” [charEncoding=”charEncoding”]>

内容

</c:import>

名字 类型 描述

url String 待导入资源的URL,可以是相对路径和绝对路径,并且可以导入其他主机资源

context String 当使用相对路径访问外部context资源时,context指定了这个资源的名字。

var String 参数的名字。

scope String var参数的作用范围。

cahrEncoding String 输入资源的字符编码。

varReader String 这个参数的类型是Reader,用于读取资源。

2.<c:redirct>

语法1:没有Body的情况.

<c:redirect url=”value” [context=”context”]/>

语法2:有Body情况下,在Body中指定查询的参数

<c:redirect url=”value” [context=”context”]>

<c:param name=”name” value=”value”/>

</c:redirect>

3.<c:url>

语法1:没有Body

<c:url value=”value” [context=”context”] [var=”varName”] [scope=”{page|request|session+application}”]/>

语法2:有Body

<c:url value=”value” [context=”context”] [var=”varName”] [scope=”{page|request|session+application}”]>

<c:param name=”name” value=”value”/>

</c:url>

名字 类型 描述

value String URL值

context String 当使用相对路径访问外部context资源时,context指定了这个资源的名字

var String 标识这个URL标量。

Scope String 变量作用范围。

SQL相关的标签

1.<sql:setDataSource>

2.<sql:query>

3.<sql:update>

4.<transaction>

5.<param>

示例:

  1. <%@ page language="java"contentType="text/html; charset=UTF-8" %>
  2. <%@ taglib prefix="fmt"uri="http://java.sun.com/jsp/jstl/fmt" %>
  3. <%@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core" %>
  4. <%@ taglib prefix="fn"uri="http://java.sun.com/jsp/jstl/functions" %>
  5. <html>
  6. <head>
  7. <title>jstl的jsp写法</title>
  8. </head>
  9. <body>
  10. <!-- 设置变量testset -->
  11. <c:setvar="testset"value="ok"/>
  12. <!-- 判断变量testset是否与ok值相等,如果相等就显示“判断成功” -->
  13. <c:iftest="${testset == 'ok'}">
  14. 判断成功<br>
  15. </c:if>
  16. <!-- 循环标签以0开始10结束,每循环的增量是1,并把当前的值赋值给变量bl -->
  17. <c:forEachbegin="0"end="10"step="1"var="bl">
  18. ${bl} test<br>                                 
  19. </c:forEach>
  20. </body>
  21. </html>

JSP介绍就到这里。

分享到:
评论

相关推荐

    jsp标签解析与示例

    博文链接:https://congpeixue.iteye.com/blog/158164

    servlet读取数据库代码到jsp页面表格示例

    本示例为servlet+jsp+mysql做的。基于servlet从mysql数据库读取数据到jsp页面,并提供增删改查功能,解压后导入eclipse即可使用。

    NTKO OFFICE文档控件示例代码 (包含官网所有)

    9. JSP JSP+My SQL 本示例展示了NTKO OFFICE文档控件部分高级功能的应用程序 10. JSP JSP+ORACLE 本示例展示了NTKO OFFICE文档控件部分高级功能的应用程序 下载自官网后打包而成, 如果分值设置高了, 请从官网...

    JSP2.0技术手册pdf(带示例源码).zip

    JSP 2.0,重点介绍Java在展示层的两项重要技术:Java Servlet与JavaServer Pages。 它们是最重要的 Java 核心技术。对这两项技术的深入了解,将有助于您未来对于 JavaServer Faces(JSF)技术以及Java Web Services...

    JSP使用jspSmartUpload上传并显示图片新闻示例

    使用支持中文的jspSmartUpload组件,自己制作了一个具有上传图片功能的简易新闻发布页面,带列表页,仅作为上传图片的参考。

    anychar使用示例(jsp、asp)

    该示例提供了柱状图的展示,可根据代码中的注释做些展示调整。 示例中提供了根据jsp及asp方式获取数据的方式。 供使用者参考。

    JSP设计第二版(附源码).rar

    《JSP设计(第二版)》得到了彻底的修订和更新,包括了JSP规范1.2版本中的重大变化。它包括关于JSP Standard Tag Library...最后,本书作者展示了如何用逼真的示例开发自定义标记库,读者可将其用作自己JSP库的出发点。

    JSP设计第二版(附源码)

    JSP设计第二版(附源码) 《JSP设计(第二版)》得到了彻底的修订和更新,包括了JSP规范1.2版本中的重大变化。...最后,本书作者展示了如何用逼真的示例开发自定义标记库,读者可将其用作自己JSP库的出发点。

    Java EE中jsp原格式展示word文档

    含有Jacob配置文件以及简单示例文件,java文件简单修改后可以直接作为工具类使用。

    JSP设计第二版 - 内附源码(PDF中文版)

    最后,本书作者展示了如何用逼真的示例开发自定义标记库,读者可将其用作自己JSP库的出发点。 “这是一本很完整、很全面而且非常实用的书。作者出色地将他广博的经验与人共享,因此网页开发人员得以充分利用Java...

    JSP2.0技术手册(带示例源码)

    本书图文并茂,以丰富的实例为引导,全面介绍了主流的 Java Web 开发技术—— JSP 2.0,重点介绍Java在展示层的两项重要技术:Java Servlet与JavaServer Pages。 它们是最重要的Java 核心技术。对这两项技术...

    JSP2_0技术手册(带示例源码)

    JSP 2.0,重点介绍Java在展示层的两项重要技术:Java Servlet与JavaServer Pages。 它们是最重要的Java 核心技术。对这两项技术的深入了解,将有助于您未来对于 JavaServer Faces(JSF)技术以及Java Web Services技术...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    《JSP程序设计》(Beginning JavaServer Pages)PDF

    书中展示了许多实际的代码示例,并对一些实例做了深入的分析,通过这些内容,为读者展示JSP 2.0的许多新特性,并强调Web开发的一些最佳实践。本书配有习题和综合项目,非常适合作为相关院校JSP程序设计课程的教材。 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    jsp连接MySQL实现插入insert操作功能示例

    本文将为大家展示下jsp连接MySQL执行插入操作的功能,具体的示例及代码如下,感兴趣的朋友可以了解下

    Java 生成验证码示例

    这是个Java Web验证码示例,用于生成验证码(位数可以自己通过验证码类修改),并进行jsp页面展示和验证,可以直接附加到myeclipse下运行,上传上来与Java技术开发朋友分享。

    jsp+sql操作系统教学网站设计(论文+程序).rar

    程序部分则包含了完整的JSP源码,这些源码示例展示了如何使用JSP技术和SQL数据库进行交互,实现数据的增删改查操作,以及用户认证、权限管理等常见功能。源码结构清晰,注释详尽,便于用户学习和修改。此外,资料包...

Global site tag (gtag.js) - Google Analytics