总结2——JSP应用开发详解

第四章 JSP语法详解

1. p67JSP将动态部分用特殊的标记嵌入,这些标记通常以“<%”开始,并以“%>”结束。

2. p67)三类主要的JSP元素:

——Scripting elements:可以定义最终转换为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
  <%! String s = new String("hello"); %>
  <font color="blue"><%=s%></font>

  例子2
  随机显示一个数字:
  <font color="blue"><%=java.lang.Math.random()%></font>

6. p70Page指令用来定义JSP文件中的全局属性。在一个JSP页面中,可以定义一个或多个Page指令。但是,除了import属性以外的其他几种属性,只能定义一次。<%@page%>指令作用于整个JSP页面,同样包括静态的包含文件。但是不能作用于动态的包含文件。

<% page attribute="value"...%>

属性:

1<%@ page language="java"%>

指定文件中所使用的脚本语言,目前仅java为有效值和默认值。该指令作用于整个文件,当多次使用该指令时,只有第一次使用是有效的。

2<%@ page import="java.io.*,java.util.*" %>

指定导入的Java软件包名或者类名列表,该列表逗号分隔,在JSP文件中,可以多次使用该指令来导入不同的软件包。

3)<%@ page content-type="text/html;charset=GB2312" %>

指定响应结果的MIME类型,默认的MIME类型是text/html默认字符编码为ISO-8859-1当多次使用该指令时,只有第一次使用是有效的。

4)<%@ page session="true"  %>

指定JSP页是否使用Session默认true。如果它为false,就不能使用session对象,以及定义scope=session<jsp:useBean>元素,这样的使用会导致错误。

5)<%@ page buffer="none | 8kb | sizekb" %>

Buffer的大小被out对象用于缓存处理执行后的JSP对客户浏览器的输出。

6)<%@ page autoFlush="true | false" %>

用来设置当buffer溢出时,是否需要强制输出。如果其值定义为true,则输出正常;如果它被设置为false,当buffer溢出时,就会导致一些意外错误的发生。如果把buffer设置为none,那么就不能把autoFlush设置为false。默认是true

7)<%@ page isThreadSafe="true | false" %>

用来设置JSP文件是否支持多线程使用。如果设置为true,那么一个JSP能够同时处理多个用户的请求;相反,如果设置为false,一个JSP只能一次处理一个请求。默认值为true

8)<%@ page info="text" %>

JSP被执行时,用来描述当前JSP文件的相关信息。可以通过Servlet.getServletInfo()方法取得。

9)<%@ page errorPage="relativeURL" %>

设置处理异常事件的JSP文件。当发生异常时,就跳转到relativeURL指定的界面上。

10)<%@ isErrorPage="true | false" %>

设置此页是否为出错页,如果被设置为true,则可以使用exception对象。默认为false

11)<%@ extends="package.class" %>

表明JSP编译时需要加入的Java class的全名,但是需要慎重使用,会限制JSP的编译能力。

18. p72)在JSP文件中用Include指令包含一个静态的文件,同时解析这个文件中的JSP语句:<%@ include file="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:getProperty name="name" property="propertyName" /> 将获得Bean的属性值,并将之转换为一个字符串,然后显示在JSP页面中。注意事项:

1)在使用<jsp:getProperty>之前,必须用<jsp:useBean>创建它。

2)不能使用<jsp:getProperty>来检索一个已经被索引了的属性。

3)能否和JavaBeans组件一起使用<jsp:getProperty>,但是不能与EJB一起使用。

23. p85<jsp:plugin>元素用于在浏览器中播放或显示一个对象(典型的就是AppletBean),而这种显示需要有浏览器的java插件。

24. 本章最后的例子没有看

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值