第四章JSP语法详解
1.(p67)JSP将动态部分用特殊的标记嵌入,这些标记通常以“<%”开始,并以“%>”结束。
2.(p67)三类主要的JSP元素:
——Scriptingelements:可以定义最终转换为Servlet的部分
——Directives:可以控制这个Servlet的整体结构
——Actions:可以指定可重用的已有组件,另外还可以控制JSP引擎的运行
3.(p68)一般的注释:<!--comment-->
隐藏的注释:<%--comment--%>
用隐藏注释标记的字符会在JSP编译时被忽略。JSP编译器不会对<%--and--%>之间的语句进行编译,它不会显示在客户的浏览器中,也不会出现在源代码中。
4.(p68)声明变量和方法:<%!declaration;[declaration]%>
一般情况下,一个声明的有效范围是本页面。但是,如果JSP源文件用<jsp:include>指令或include指令包含一些静态文件,声明的有效范围将会扩大,也就是说:声明在该静态文件中也有效。但是如果JSP源文件中用<jsp:include>指令包含进来一个动态文件,主JSP文件中的声明在该动态文件中将不起作用。
5.(p69)表达式:<%=expression%>
表达式用于求值,然后其值转化为字符串,而且插入在JSP文件中显示该表达式的地方。而且可以在文本中使用表达式。表达式标签能包含符合JAVA语言规范的任何有效表达式,但是要注意:不能使用分号作为表达式的结尾,然而,在脚本段<%……%>标签中,表达式要求以分号作为结尾。
例子1:
<%!Strings=newString("hello");%>
<fontcolor="blue"><%=s%></font>
例子2:
随机显示一个数字:
<fontcolor="blue"><%=java.lang.Math.random()%></font>
6.(p70)Page指令用来定义JSP文件中的全局属性。在一个JSP页面中,可以定义一个或多个Page指令。但是,除了import属性以外的其他几种属性,只能定义一次。<%@page%>指令作用于整个JSP页面,同样包括静态的包含文件。但是不能作用于动态的包含文件。
<%pageattribute="value"...%>
属性:
1)<%@pagelanguage="java"%>
指定文件中所使用的脚本语言,目前仅java为有效值和默认值。该指令作用于整个文件,当多次使用该指令时,只有第一次使用是有效的。
2)<%@pageimport="java.io.*,java.util.*"%>
指定导入的Java软件包名或者类名列表,该列表用逗号分隔,在JSP文件中,可以多次使用该指令来导入不同的软件包。
3)<%@pagecontent-type="text/html;charset=GB2312"%>
指定响应结果的MIME类型,默认的MIME类型是text/html。默认字符编码为ISO-8859-1。当多次使用该指令时,只有第一次使用是有效的。
4)<%@pagesession="true"%>
指定JSP页是否使用Session,默认为true。如果它为false,就不能使用session对象,以及定义scope=session的<jsp:useBean>元素,这样的使用会导致错误。
5)<%@pagebuffer="none|8kb|sizekb"%>
Buffer的大小被out对象用于缓存处理执行后的JSP对客户浏览器的输出。
6)<%@pageautoFlush="true|false"%>
用来设置当buffer溢出时,是否需要强制输出。如果其值定义为true,则输出正常;如果它被设置为false,当buffer溢出时,就会导致一些意外错误的发生。如果把buffer设置为none,那么就不能把autoFlush设置为false。默认是true。
7)<%@pageisThreadSafe="true|false"%>
用来设置JSP文件是否支持多线程使用。如果设置为true,那么一个JSP能够同时处理多个用户的请求;相反,如果设置为false,一个JSP只能一次处理一个请求。默认值为true。
8)<%@pageinfo="text"%>
在JSP被执行时,用来描述当前JSP文件的相关信息。可以通过Servlet.getServletInfo()方法取得。
9)<%@pageerrorPage="relativeURL"%>
设置处理异常事件的JSP文件。当发生异常时,就跳转到relativeURL指定的界面上。
10)<%@isErrorPage="true|false"%>
设置此页是否为出错页,如果被设置为true,则可以使用exception对象。默认为false。
11)<%@extends="package.class"%>
表明JSP编译时需要加入的Javaclass的全名,但是需要慎重使用,会限制JSP的编译能力。
18.(p72)在JSP文件中用Include指令包含一个静态的文件,同时解析这个文件中的JSP语句:<%@includefile="path"%>
Include命令将在JSP编译时插入一个包含文本或代码的文件。当使用include时,这个包含的过程是静态的。这个被包含的文件所执行的结果将会插入到JSP文件中放<%@include%>的地方。
19.(p77)<jsp:include>标签允许包含动态文件和静态文件。如果文件是静态文件,那么把包含的文件内容加到jsp文件中,这个被包含文件不会被JSP编译器执行。相反,如果这个被包含文件是动态的文件,那么这个被包含文件将会被JSP编译器执行。
20.(p78)<jsp:forward>标签重定向到一个HTML文件、JSP文件,或者一个程序段。该标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象。<jsp:forward>标签以下的代码,将不能执行。可以使用<jsp:param>标签向目标文件传递参数和值,注意如果使用了<jsp:param>标签,那么目标文件必须是一个动态的文件。
21.(p80)<jsp:useBean>标签用来在JSP页面中创建一个Bean实例并指定它的名字以及作用范围。至于如何理解,请参考下面两个帖子:
http://turingbook.group.javaeye.com/group/blog/577256
http://www.wang48.com/jishubaodianview/?jsd_id=201
22.(p81)<jsp:getPropertyname="name"property="propertyName"/>将获得Bean的属性值,并将之转换为一个字符串,然后显示在JSP页面中。注意事项:
1)在使用<jsp:getProperty>之前,必须用<jsp:useBean>创建它。
2)不能使用<jsp:getProperty>来检索一个已经被索引了的属性。
3)能否和JavaBeans组件一起使用<jsp:getProperty>,但是不能与EJB一起使用。
23.(p85)<jsp:plugin>元素用于在浏览器中播放或显示一个对象(典型的就是Applet和Bean),而这种显示需要有浏览器的java插件。
24.本章最后的例子没有看
<!--EndFragment-->
分享到:
相关推荐
本书详细讲解了JSP和JDBC内容,适合Java开发人员使用,也是Java开发人员必须掌握的知识
鑫编写的《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用》共分4篇,从XML、XML Schema、XSLT、Servlet、JSP和应用的角度向读者展示了Java Web开发中各种技术的应用,循序渐进...
本书是《轻量级J2EE企业应用实战》的第二版,同时还融合了《整合Struts+Hibernate+Spring应用开发详解》理论部分。实际上,本书凝结了前两本书的精华部分。 本书介绍了Java EE领域的三个开源框架:Struts 2、Spring...
关于JSP实践之旅 简明介绍 JSP内幕 JSP官方白皮书 国内不谈java 基本语法介绍 ...开发主流技术的评价之JSP 使用JSP技术设计电子商务应用系统——从入门到精通 JSP手册 关于PHP的一种评论...
《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练...
《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练...
2.3.1 struts 2应用开发环境的搭建 62 2.3.2 struts 2应用基本开发步骤—搭建eportal应用 69 2.3.3 struts 2中集成fckeditor 80 2.3.4 struts 2中集成displaytag 83 2.4 struts 2国际化实现 85 2.4.1 web应用的...
第1章web应用开发简介 1 1.1何为web应用 1 1.1.1web的概念及发展 1 1.1.2web应用程序 2 1.2使用java开发web应用 3 1.2.1面向对象的编程语言 3 1.2.2丰富的框架技术 4 1.2.3xml、css的应用 4 1.2.4使用...
5.1.9应用程序示例2——杨辉三角212 5.2字符串213 5.2.1String对象的声明213 5.2.2String对象的创建214 5.2.3String对象的使用214 5.2.4String类型的数组216 5.2.5StringBuffer对象的声明217 5.2.6...
使您由内而外地明白使用Java进行Web应用开发的全过程——从XML基础知识到HTTP详述及相关体验,从用Tomcat配置Web站点到HttpServletResponse和HttpServletRequest的应用,以及JSP、JavaBean等Java Web开发相关方面都...
(一) Spring 开发 Swing GUI 简介——依赖注入和富客户机 5 关于本教程 5 前提条件 6 Spring 和依赖注入概述 7 什么是 Spring 框架? 7 什么是依赖注入? 7 环境设置 7 选择编译环境 7 设置 Ant 8 通过 Ant 自动下载...
余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言...
余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言...
余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言...
│ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ ...
《C程序设计语言》(第2版新版)讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。《C程序设计语言》...
│ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ ...
│ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ ...
│ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ ...