JavaEE 学习专题Java

JSP指令

2018-08-01  本文已影响20人  咸鱼有梦想呀

一、JSP指令

JSP指令的格式

<%@指令名 attr1=”” attr2=”” %>

例如自动生成的jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

JSP中有三大指令

page、include、taglib

page最常用也最复杂

二、page指令

page指令是最为常用的指令!
page指令没有必须属性,都是可选属性。在JSP页面中,任何指令都可以重复出现。

1.pageEncoding和contentType

当设置了pageEncoding,而没设置contentType时: contentType的默认值为pageEncoding;
当设置了contentType,而没设置pageEncoding时: pageEncoding的默认值与contentType;
两个都没设置默认为iso-8859-1

2.import属性
import:等同与import语句
import属性是唯一可以重复出现的属性

<%@page import=”java.util.*” import=”java.net.*” import=”java.sql.*”%>

import属性值可以使逗号

<%@page import=”java.net.*,java.util.*,java.sql.*”%>

但是一般会用多个page指令导入多个包

<%@ page import=”java.util.*”%>
<%@ page import=”java.net.*”%>
<%@ page import=”java.text.*”%>

3.errorPage和isErrorPage
一个JSP页面出错后,Tomcat会响应给用户错误信息(500页面)!如果你不希望Tomcat给用户输出错误信息,那么可以使用page指令的errorPage来指定错误页!也就是自定义错误页面

<%@ page errorPage="a.jsp" %>
<%@page isErrorPage="true"%>

web.xml中配置错误页面
web.xml

<error-page>
  <error-code>404</error-code>
  <location>/error404.jsp</location>
</error-page>

<error-page>
  <error-code>500</error-code>
  <location>/error500.jsp</location>
</error-page>

<error-page>
  <exception-type>java.lang.RuntimeException</exception-type>
  <location>/error.jsp</location>
</error-page>

4.autoFlush和buffer

5.isELIgnored
当前JSP页面是否忽略EL表达式,默认值为false,表示不忽略(即支持)。

6.其他属性(没啥用)

二、include和taglib指令

<%@include file=”b.jsp”%>

作用
把页面分解了,使用包含的方式组合在一起,这样一个页面中不变的部分,就是一个独立jsp,而我们只需要处理变化的页面。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

prefix:指定标签库在本页面中的前缀!由我们自己来起名称!
uri: 指定标签库的位置!

前缀的用法<s:text>

三、JSP九大内置对象


pageContext
在JavaWeb中一共四个域对象,其中Servlet中可以使用的是request、session、application三个对象,而在JSP中可以使用pageContext、request、session、application四个域对象。

1.pageContext作用

//向pageContext中存储数据
 pageContext.setAttribute("x", "X");
//向request中存储数据
 pageContext.setAttribute("x", "XX", PageContext.REQUEST_SCOPE);
//向session中存储数据 
pageContext.setAttribute("x", "XXX", PageContext.SESSION_SCOPE);
//向application中存储数据
 pageContext.setAttribute("x", "XXXX", PageContext.APPLICATION_SCOPE);

四大域范围

四、JSP的动作标签

动作标签是由tomcat(服务器)解释执行的,和Java代码一燕,都是在服务器端执行的。
html是由浏览器执行的。

动作标签的作用是用来简化Java脚本的!

JavaWeb一共提供了20个JSP动作标签,但有很多基本没有用

a.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>a.jsp</h1>
<jsp:forward page="b.jsp">
    <jsp:param name="username" value="zhangsan"></jsp:param>
</jsp:forward>
</body>
</html>

b.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>b.jsp</h1>
<%
    String username = request.getParameter("username");
    out.print("你好"+username);
%>
</body>
</html>
运行结果
<jsp:useBean id="user1" class="cn.domain.User"  scope="page"/>
上一篇 下一篇

猜你喜欢

热点阅读