JSP指令(二)

来源:互联网 发布:杭州认知网络 招聘 编辑:程序博客网 时间:2024/06/05 09:38

一、page指令

page指令 --- 属性最多的指令(实际开发中page指令默认)

属性最多的一个指令,根据不同的属性,指导整个页面特性

格式:<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%>

常用属性如下:

1.1 language

jsp脚本中可以嵌入的语言种类。其实只能写language="java"。当初sun公司设想jsp可以成为各种语言的页面模板,可以php,C#都有自己的页面模板,不会来用jsp。所以,这个language写与不写没区别。

1.2 pageEncoding

当前jsp文件的本身编码---内部可以包含contentType


右键单击jsp选择Properties


如果contentType没写,那么contentType的编码会使用pageEncoding的编码。所以,开发中只写pageEncoding就行了。

1.3 contentType

contentType="text/html; charset=UTF-8"会翻译成对应servlet的response.setContentType("text/html;charset=UTF-8")

1.4 session

默认值:session="true"。开发中使用默认值就行了。

这个属性表示是否jsp在翻译时自动创建session


1.5 import

导入java的包


写List的时候报错了,是因为没有导入List包。


通过import到如包,就不报错了。


编译器自动帮我们导包:


1.6 errorPage

当当前页面出错后跳转到哪个页面

创建一个错误页面:


在index.jsp中制造一个错误:


访问index.jsp:


1.7 isErrorPage

当前页面是一个处理错误的页面

1.8 配置全局错误页面

在web.xml中配置error-page标签


访问一个不存在的资源,结果跳转到了我们刚才所配置的错误页面



二、include指令

页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中

格式:<%@ include file="被包含的文件地址"%>

例子:

demo.jsp

<%@ page language="java" contentType="text/html; charset=UTF-16"pageEncoding="UTF-16"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-16"><title>Insert title here</title></head><body><br /><h1>this is demo page</h1></body></html>
index.jsp include demo.jsp

<%@page import="java.util.*"%><%@ page pageEncoding="UTF-8" errorPage="/error.jsp"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-16"><title>Insert title here</title></head><body><%@include file="/demo.jsp" %><%session.setAttribute("name", "zhangsan");int i = 0;System.out.print(i);List list = new ArrayList();%><%=i%><%=1 + 1%><%!String str = "hello china";%><%=str%></body></html>
访问index.jsp

include的作用。有很多页面的头部和尾部的信息都是一样的。那么,我们就只要写一份头部和尾部,然后,在各个页面include它们。

三、taglib指令

在jsp页面中引入标签库(jstl标签库、struts2标签库)

格式:<%@ taglib uri="标签库地址"prefix="前缀"%>

<%@page import="java.util.*"%><%@ page pageEncoding="UTF-8" errorPage="/error.jsp"%><!--引入jstl核心库 --><%-- <%@ taglib uri="http://" prefix="c"%> --%><%-- <%@ taglib uri="http://" prefix="fmt"%> --%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-16"><title>Insert title here</title></head><body><!-- 使用c库的标签 --><c:if></c:if><fmt:xxxx></fmt:xxxx><%@include file="/demo.jsp"%><%session.setAttribute("name", "zhangsan");int i = 0;System.out.print(i);List list = new ArrayList();%><%=i%><%=1 + 1%><%!String str = "hello china";%><%=str%></body></html>

原创粉丝点击