JSP基础知识

JSP基础语法

一个JSP页面可以被分为以下几部份:

       1)静态数据,如HTML;

       2)JSP指令,如include指令;

       3)JSP脚本元素和变量;

       4)JSP动作;

       5)用户自定义标签;

       一静态数据

       静态数据在输入文件中的内容和输出给HTTP响应的内容完全一致。此时,该JSP输入文件会是一个没有内嵌

Java或动作的HTML页面。而且,客户端每次请求都会得到相同的响应内容。

       这个静态数据的本质就是HTML文档。

       二JSP指令

       JSP指令用来设置与整个JSP页面相关的属性。指令可以有很多个属性,它们以键值对的形式存在,并用逗号隔

开。JSP指令控制JSP编译器如何去生成servlet。

       JSP中的三种指令标签:

       

       (1)page指令

       page指令通常位于JSP页面的顶端,同一个页面可以有多个page指令。需要注意的是在同一个JSP文件中只

有"import"导入页面指令可以被多次使用。

       page指令语法格式为:

      <%@ page 属性1="属性值" 属性2="属性值1,属性值2"... 属性n="属性值n" %>                  

       page指令的属性有:

       

       page指令使用样例:

       <%@ page import="java.util.*" %> //example import导入样例

       <%@ page contentType="text/html" %> //example contentType页面类型样例

       <%@ page isErrorPage=false %> //example for non error page无错页面样例

       <%@ page isThreadSafe=true %> //example for a threadsafe JSP安全线程JSP样例

       我们来看一个样例:在JSP页面中输出当前日期

       date.jsp页面源码:

[plain]  view plain   copy
  print ? 在CODE上查看代码片 派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;font-size:18px;"><%@page import="java.text.SimpleDateFormat"%>  
  2. <%@page import="java.util.Date"%>  
  3. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  4.     pageEncoding="UTF-8"%>  
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  6. <html>  
  7. <head>  
  8. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  9. <title>date页面</title>  
  10. </head>  
  11. <body>  
  12.       <%  
  13.             Date date = new Date();  
  14.             SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");  
  15.               
  16.             String string = sdf.format(date);  
  17.             out.println(string);  
  18.       %>  
  19. </body>  
  20. </html></span>  

       运行结果:


       上面的代码中我们使用page指令分别导入了java.text.SimpleDateFormat和java.util.Date,也是使用page指令

指定当前页面的字符编码格式以及使用的默认脚本语言Java等。


       对于更多的page指令,我们深入学习JSP后,会使用得到,逐渐的学习过程就会用到很多的page指令。

       (2)include指令

       include指令是指将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句。include指令,用来向

当前页面插入一个静态文件的内容。这个文件可以是JSP、HTML、文本或是Java程序。

       include指令 示包含指令通知JSP编译器把另外一个文件完全包含入当前文件中。效果就好像被包含文件的内容直

接被粘贴到当前文件中一样。这个功能和C语言预处理器所提供的很类似。被包含文件的扩展名一般都是"jspf"(即

JSPFragment,JSP碎片):

       include指令语法格式为:

       <%@ include file="somefile.jsp" %>

       我们来看一个实例:

       我们使用上面显示当前日期的页面date.jsp作为被嵌入的J文件。

       测试include指令的include.jsp页面的代码:


       测试结果:


       深入JSP以后我们会比较include指令和include动作的区别。

       (3)taglib指令

       taglib指令指的是使用标签库定义新的自定义标签,在JSP页面中启用定制行为。taglib指令是标签库指令描述了

要使用的JSP标签库。该指令需要指定一个前缀prefix(和C++的命名空间很类似)和标签库的描述URI。声明用户使用

自定义的标签,将标签库描述符文件导入到JSP页面。

       JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。taglib指令引入一个自定义标签集合的

定义,包括库路径、自定义标签。

       taglib指令的语法格式为:

       <%@ taglib prefix="myprefix" uri="taglib/mytag.tld" %>

       uri属性:定位标签库描述符的位置。唯一标识和前缀相关的标签库描述符,可以使用绝对或相对URL。

       tagDir属性:指示前缀将被用于标识在WEV-INF/tags目录下的标签文件。

       prefix属性:标签的前缀,区分多个自定义标签。不可以使用保留前缀和空前缀,遵循XML命名空间的命名约定。

       这个我目前还没有使用过,不过可以借鉴别人的文章:JSP中使用taglib

       三JSP注释

       JSP注释主要有两个作用:为代码作注释以及将某段代码注释掉。

       在JSP页面包含三种注释:

       1)HTML注释:

       <!--HTML注释-->       //客户端可见,通过查看源代码

       2)JSP注释:

       <%--JSP注释--%>       //客户端不可见,服务器端注释

       JSP脚本注释:

       //单行注释

       /**/多行注释             //客户端不可见,在java语句中:服务器端注释客户端看不到

       我们还是在JSP页面演示一下:


       结果:


       四JSP脚本

       JSP脚本是指在JSP页面执行的java代码。

       (1)标准脚本变量

       以下是永远可用的脚本变量:

       out – JSPWriter用来写入响应流的数据

       page – Servlet自身

       pageContext –一个PageContext实例包括和整个页面相联系的数据,一个给定的HTML页面可以在多个JSP之间

传递。

       request –HttpRequest对象

       response –HttpResponse对象

       session –用于保持客户端与服务器连接的对象

       上述的对象变量我们会在以后经常使用到。后续会详细讲解。

       (2)脚本元素

       有三个基本的脚本元素,作用是使Java代码可以直接插入Servlet。

       1)JSP声明

       在JSP页面中定义变量或者方法。声明标签在Java Servlet的类体中放入一个变量的定义。静态的数据成员也可以

如此定义。

       一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量

和方法然后才能使用它们。

       JSP声明语法格式为:<%! Java代码 %>  

       样例:<%! int serverInstanceVariable = 1; %>

       实例:


       2)JSP脚本

       JSP脚本是指在JSP页面执行的Java代码。在Java Servlet的类的_jspService()方法中放入所包含的语句。

       脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。 

       任何文本、HTML标签、JSP元素必须写在脚本程序的外面。 

       JSP脚本语法格式为:<% Java代码 %>

       样例:<% int localStackBasedVariable = 1; out.println(localStackBasedVariable); %>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值