jsp
java代码
<% %>
<%= %>
<%! %> jsp声明 声明一个变量或者一个方法
<%!
int i=100;
%>
生成的servlet 中 直接int i=100;
<%@指令明 属性=值 %> jsp指令
a。page指令
import属性:<%@page import="java.util.*,java.text.*" %>
pageEncoding属性:<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%>
contentType属性<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%>
session属性:(true缺省值/false不能使用session隐含对象。servlet容器不再生成session代码)
errorPage属性:指定一个异常处理页面,那个页面的isErrorPage要改成true。
isErrorPage属性:true/false缺省值,当为true时,表示这是一个异常处理页面,可以使用exception隐含对象。false时不能使用exception隐含对象
b.include指令
file属性:告诉容器,在将jsp文件转换成servlet类时,将file属性指定文件的内容插入到该指令所在的位置。
例如:<%include file="header.jsp" %> 加到导航栏所在位置
c。taglib指令
引入jsp标签
jsp隐含对象:
out
request
response
session
application
exception
pageContext:容器会为每一个jsp实例创建唯一一个符合PageContext接口要求的对象。
注:唯一性 一个jsp实例对应一个pageContext对象
持久性 只要jsp实例没有被销毁,则pageContext就会一直存在。
作用:
1.绑定数据setAttribute getAttribute removeAttribute (只在当前jsp生效,然并卵的东西)
2.获得其他所有的隐含对象。
config用的很少,就是ServletConfig,读取初始化参数,还能获得servletContext
例如:<%=config.getInitParameter("company") %>
而在web.xml里新增:<init-param><param-name>company</param-name><param-value>IBM</param-value></init-param>
page从来不用 jsp实例本身
注释:
a.<!-- -->如果注释内容是java代码,则java代码会执行 <!-- <%=new Date() %> --> ,java代码会执行,但是页面上看不到。只有在html源代码里看得到。
b.<%-- --%>注释内容是java代码,不会执行