JSP基础
1、 从servlet向jsp传递数据:
Servlet中:
RequestDispatcher req = request.getRequestDispatcher("NewFile.jsp");
String name = "test";
request.setAttribute("name", name);
req.forward(request, response);
Jsp(/WebContent/NewFile.jsp文件)中:
<%
out.println("test:" + request.getAttribute("name"));
%>
2、 Jsp声明:
一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。
例:<%! int i = 0; %>
<%! int a, b, c; %>
<%! Circle a = new Circle(2.0); %>
3、 Jsp表达式:
一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
例:
<p>
Today's date: <%= (new java.util.Date()).toLocaleString()%>
</p>
4、 JSP注释
<div>
注释<%-- 该部分注释在网页中不会被显示--%>
</div>
5、 JSP指令
JSP指令用来设置与整个JSP页面相关的属性。
<%@ page ... %>:定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
Page指令为容器提供当前页面的使用说明。一个JSP页面可以包含多个page指令。
<%@ include ... %>:包含其他文件
JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。
<%@ taglib…%>:引入标签库的定义,可以是自定义标签
JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。
Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。
语法:<%@ taglib uri="uri" prefix="prefixOfTag" %>
6、 JSP行为
JSP行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。
<jsp:action_name attribute="value" />
jsp:include 用于在当前页面中包含静态或动态资源
jsp:useBean 寻找和初始化一个JavaBean组件
jsp:setProperty 设置 JavaBean组件的值
jsp:getProperty 将 JavaBean组件的值插入到 output中
jsp:forward 从一个JSP文件向另一个文件传递一个包含用户请求的request对象
jsp:plugin 用于在生成的HTML页面中包含Applet和JavaBean对象
jsp:element 动态创建一个XML元素
jsp:attribute 定义动态创建的XML元素的属性
jsp:body 定义动态创建的XML元素的主体
jsp:text 用于封装模板数据
7、 JSP隐含对象
Request:HttpServletRequest类的实例
Response:HttpServletResponse类的实例
Out:PrintWriter类的实例,用于把结果输出至网页上
Session:HttpSession类的实例
Application:ServletContext类的实例,与应用上下文有关
Config:ServletConfig类的实例
pageContext:PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page :类似于Java类中的this关键字
Exception:Exception类的对象,代表发生错误的JSP页面中对应的异常对象