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介绍就到这里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
顺序如下: 1、多种字体大小显示 2、c:out标记输出 3、获取当前时间 4、include包含语句 5、建立错误处理页面的范例程序 6、jsp:forward 7、简单计数器 8、设置页面属性 9、使用GB2312编码 10、使用Big5编码 11、c:catch的用法 12、<c:forEach> begin、end和step的用法 13 、 <c:forEach> 循环 14、<c:forEach> varStatus 的四种属性 15、<c:forEach> 的用法 16、从客户端传送数据至服务端 17、使用Unicode转义字符 18、使用朝鲜语字符集 19、JSP中最简单的国际化程序 20、错误检测 21、抛出异常 22、<c:if> 的用法 23、<c:set>和<c:remove> 的用法 24、<c:import> 的用法 25、jsp-include的用法 26、汉字处理 27、网页重定向 28、自动更新网页 29、存取session 30、<c:redirect> 的用法 31、单选型列表框 32、jsp文件中定义类 33、取得 JSP Container 版本 34、javax.servlet.jsp.JspWriter - out 对象 35、page 隐含对象 36、application 对象 37、PageContext 对象 38、Page范围 - pageContext 39、测试要显示的中文 40、IF控制符的操作 41、HttpServletRequest 接口所提供的方法 42、 网上测验 43、HttpSession - session 对象 44、 多选型列表框 45、解决浏览器 cache 的问题 46、使用 EL、JSTL 处理表单数据 47、 EL隐含对象 param、paramValues 48、EL隐含对象 pageContext 49、EL算术运算符 50、EL关系运算符 51、EL的运算符 52、选择钮的使用 53、检查框的使用 54、群组检查框的使用 55、数字、货币、百分数格式化 56、日期格式化 57、JSTL设置语言地区 58、Cookie数据的存取 59、session有效时间的设置与取得 60、session时间与ID 61、Cookie有效时间的设置 62、利用隐藏字段传送数据 63、JSP 使用 JavaBean 的方法 64、JSP 使用 JavaBean 65、范围为 Page 的 JavaBean范例程序 66、范围为 Request的 JavaBean 67、范围为 Session 的 JavaBean 68、范围为 Application 的 JavaBean 69、删除 JavaBean 70、url重组 71、Switch语句 72、环境变量 73、forward重定向 74、文件的建立与删除 75、取得文件属性 76、取得目录中的文件 77、目录的建立与删除 78、自Cookie存取日期/时间数据 79、管理Session变量 80、数据库中的记录数与记录指针位置 81、利用absolute方法设置记录位置 82、使用jsp指令生成Word文档 83、JSP网页模板 84、判断是否空白文件 85、cookie 用户登录次数 86、获取用户的真实IP地址 87、获取用户的浏览器信息 88、在客户端进行数据检查 89、在JSP中获取当前绝对路径 90、读取表单中所有参数 91、分行写入数据 92、显示请求URL 93、判断session是否过期 94、参数式查询数据库 95、取得数据库中各栏名称 96、使用JavaBean、设置和获取Bean的属性 97、设置Bean的一个属性与输入参数关联 98、实现基于数据库的站内搜索 99、DOM读取XML文档 100、SAX读取XML文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值