指令元素主要为转换阶段提供整个jsp页面的相关信息。
语法:
<%@ directive (attr="value") %>
<%@ page import="java.util.Vector" attr2="value2" %>
<jsp:directive.page attr1="value1" />
page包含15个属性:
include指令用于在jsp中静态包含一个文件。
<%@ include file="relativeURLspec" %>
<jsp:directive.include file="relativeURLspec"/>
taglib指令允许页面使用用户定义的标签。
<%@ tagliv uri="targetLibraryURI" tagdir="tagdir" prefix="tagPrefix" %>
<jsp:directive.taglib uri="targetLibraryURI" prefix="tagPrefix" />
脚本元素包含三个部分:声明,脚本段和表达式。
动作元素为请求处理阶段提供信息。在页面被转换为servlet期间,当jsp容器遇到这个标签,就用预定义的对应于该标签的java代码来代替它。
JSP 2.0 规范 中定义了20个标准的动作元素:
HTML注释:
<!-- comments -->
JSP注释:
<%-- comments --%>
在JSP中,总共有9个隐含对象:
request javax.servlet.http.HttpServletRequest
response javax.servlet.http.HttsServletResponse
pageContex javax.servlet.jsp.PageContext
session javax.servlet.http.HttpSession
application javax.servlet.ServletContext
out javax.servlet.jsp.JspWriter
config javax.servlet.ServletConfig
page java.lang.Object
exception java.lang.Throwable
<%@ include file="common.jsp" %>
<%@ page import="java.util.Collection,java.util.Iterator"%>
<jsp:useBean id="cart" scope="session" class="org.free.beans.CartBean" />
<%
Collection<BookBean> booklist = bookdb.getBooks();
Iterator<BookBean> iter = booklist.iterator();
%>
<table>
<tr>
<th>书名</th><th>价格</th><th>购买</th>
</tr>
<%
while(iter.hasNext()){
BookBean book = (BookBean)iter.next();
String title = book.getTitle();
float price = book.getPrice();
int bookid = book.getId();
%>
<tr>
<td><a href="bookinfo.jsp?id=<%=bookid%>"><%=title%></a></td>
<td><%= price %></td>
<td><a href="catalog.jsp?add=<%=bookid%>">加入购物车</a></td>
</tr>
<%
}
%>
</table><br/>