首页 > 技术文章 > jsp

alexhjl 2017-05-02 21:20 原文

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代码,不会执行

  

推荐阅读