笔记

way

JSP

jsp中的所有东西都可分为两大类:elementstemplate data。elements 是jsp的动态部分,他们按照jsp规范作为自定义操作,标签,以及之间的允许内容,jsp容器会解释elements ,当产生response的时候elements 定义的操作会运行(dynamic)。template data是静态文本部分,他们被任意放在jsp页面上直接发送给客户端(not change)。
      elements 又可分为三类:scripting elements, directives, and actions

scripting elements :有三种类型:
      1 Scriptlets即常见到的<%.... %>,注意scriptlet 的内容不会发送给客户端,只有scriptlet 的结果会发送,这表明scriptlet 被容器解释,scriptlet 的代码默认情况下不会被访问者分享。 代码编译成servlet后在jspService() 内。这里面写的java代码最后结果以out.print(…);输出
     2 Expressions:<%=...=>: 发送字符串给客户端,表达式可以是任意有toString方法的对象,或者是primitive。代码编译成servlet后在jspService() 内。不要在后面加分号,否则会以out.print(...;); 形式输出,引起编译错误
   3 Declarations:<!=...=>: declaration 就像scriptlet一样用来向jsp嵌入代码,这些声明编译成servlet后都是在jspService() 方法外面的,所以声明里可用来定义新方法(可以被scriptlet调用)或全局类变量,但声明里代码不是线程安全的,必须自己控制。


directives  并不用来向客户端输出,用来定义页面属性,包括定制标签库和包含其他页面,语法 :
     <%@ directive {attribute="value"}* %>
三种不同的jsp directives :page, taglib, and include。
  <%@ page %>给jsp容器提供页面的相关信息
<%@ include %> is used to include text and/or code at translation time of a JSP,语法<%@ include file="relativeURL" %>,这个文件必须是web 应用的一部分,由于在转换阶段被包括,相当于在编译之前把文件源代码直接放进来,所以不影响runtime阶段的性能。<jsp:include /> 在runtime阶段触发,虽然效能没前面translation time include好,但保证被包括文件的实时性。
<%@ taglib %> 自定义标签库,语法<%@ taglib uri="uri" prefix="prefixOfTag" %>

Actions  可以方便的把动态代码链入简单的jsp页面,功能类似scripting elements ,但是把和jsp打交道的java代码抽象出来了,有两种:standard and custom 语法 <prefix:element {attribute="value"}* />

jsp中有implicit objects,就像在Servlets中的对象,在scripting elements中可以使用:config,request,response,session(默认jsp持有一个session,在scripting elements 用这个对象,就像调用HttpServletRequest getSession() 一样),application(javax.servlet.ServletContext 对象实例,就像调用ServletConfig getServletContext() 一样)
还有一些没有直接和Servlet 对应的,但是隐含的对象:pageContext(含有一个jsp的许多对象资源信息,在定制标签的时候用得较多), page, out, and exception

posted on 2009-05-15 10:21 yuxh 阅读(158) 评论(0)  编辑  收藏 所属分类: j2ee


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿

随笔分类

随笔档案

收藏夹

博客

搜索

最新评论

阅读排行榜

评论排行榜