DoubleTen

导航

jsp笔记

基本语法:

html文本:
<h2>blah</h2>

html注释:
<!-- blah -->

jsp注释:
<%-- blah --%>

jsp表达式,计算值并嵌入html文本中:
<%= java value %>

jsp scriptlet:
<% java statment %>

jsp申明定义,成为类定义一部分的字段或者方法:
<%! field definition %>
<%! method definithion %>

jsp指令,page include 定制标签库:
<%@ directive att="val"%>

jsp动作,jsp:include jsp:useBean jsp:invoke jsp:forward
<jsp:blah>...</jsp:blah>

jsp表达式语言元素:
${ EL expression}

定制标签,对定制标签的调用:
<prefix:name>
body
</prefix:name>

转移的模板文本,需要特殊解释的文本,斜杠被移除,剩余的文本发送到客户端:
<\%
%\>

jsp编译后java文件目录:

<tomcatinstall>/work/Catalina/localhost/_/org/apache/jsp
编译后方法都放入 _jspService()中

_jspService()内置局部对象:

request: HttpSevletRequest
response: HttpSevletResponse
session: HttpSession
out:javax.servlet.jsp.JspWriter
application: ServletContext
config: ServletConfig
pageContext: PageContext, 可以获得request response session out等对象,一般用于传递对象
page:this的同义词,无实际用途

page指令:

<%@ page import="package.class1,package.class2" %> import自定义java代码
<%@ page contentType="MIME-TYPE; charset= Character-set"%> 更改内容类型和字符集
<%@ page pageEncoding="Shift_JIS" %> 更改字符集
<%@ page session="true" %> 控制页面是否参与HTTP会话,默认true
<%@ page isELIgnored="false" %> 忽略el表达式语言 默认false
<%@ page buffer="32kb" %> <%@ page buffer="none" %> out变量使用的缓冲区大小
<%@ page info="some message" %> 通过servlet.getServletInfo()可以获得字符串

<%@ page errorPage="URL" %>
<%@ page isErrorPage="true" %> 默认false, errorpage一般放入WEB-INF目录。设置整个web应用的errorpage在web.xml中配置

jsp:include

包含制定页面的运行结果
<jsp:include page="releative-url" flush="true" /> 无/开始的url表示jsp当前路径下相对路径,以/开始的url表示web应用的相对路径
制定include参数
<jsp:include page="releative-url" >
<jsp:param name="paramname" value="paramvalue"/>
</jsp:include>

include指令

<%@ include file="releative-url" %>
包含制定页面内容后再解析主页面,其中内容可以影响主页面。尽量使用jsp:include
include指令被包含后每个页面都有独立的变量,一般用于每个主页面都需要独立包含页面是使用

构建bean:

<jsp:useBean id="name" class="package.Class"/> 等价与scriptlet <% package.Class bean = new package.Class(); %>
<jsp:useBean id="name" class="package.Class" type="package.SuperClass"/> 等价与scriptlet <% package.SuperClass bean = new package.Class(); %>

获得property:

<jsp:getProperty name="beanName" property="propertyName"/> 等价与 <%= beanName.getPropertyName() %>

设置property:

<jsp:setProperty name="beanName" property="propertyName" value="propertyValue" /> 等价与scriptlet <% beanName.setPropertyName(propertyValue); %>

使用param设置从表单读取值property:

<jsp:setProperty name="beanName" property="propertyName" param="propertyName" />

共享bean:

<jsp:useBean ... scope="page" /> 默认
<jsp:useBean ... scope="request" /> 保存在HttpServletRequest对象中,
使用jsp:include,forward方法时,在多个页面的servlet中共享
<jsp:useBean ... scope="session" /> 绑定到HttpSession
<jsp:useBean ... scope="application" /> 绑定到ServletContext

jsp请求转发

<jsp:forward page="releative-url" >
<jsp:param name="paramname" value="paramvalue"/>
</jsp:forward>

 

 

 

posted on 2013-11-09 18:44  DoubleTen  阅读(220)  评论(0)    收藏  举报