1 JSP注釋
JSP注釋主要為了方便開發人員閱讀JAVA代碼。
語法:
<%-- 注釋語句 --%>
總結:
HTML注釋可以在查看瀏覽器頁面源碼的時候可見。但是JSP的注釋是給開發者看的因此在瀏覽器端是無法看見的。
2JSP指令
JSP指令主要用于通知瀏覽器如何解析或者處理當前的JSP頁面數據。
語法:
<%@ 指令名 指令屬性列表%>
常見的JSP指令
1.pagepage指令只要用于通知瀏覽器如何解析頁面的數據。<%@page autoFlush="true"? 指定是否自動刷新 buffer="8kb"? 指定緩沖區大小 contentType="text/html; charset=utf-8" ? 設置頁面內容類型 errorPage=""? 指定處理錯誤的 extends="" ? 指定需要繼承的父類 import=""? 指定需要導入的包名以及類 info=""? 指定頁面的信息 isELIgnored="false"? 指定當前頁面是否忽略EL表達式 isErrorPage="false"? 指定當前頁面是否是處理錯誤的頁面 isThreadSafe="true"? 指定當前頁面是線程安全的 language="java"? 指定JSP的腳本語言,默認java語言 pageEncoding="utf-8"? 指定數據的編碼方式 session="true"? 指定是否使用session%>
舉例1:在JSP中導入類。
JSP的page指令中只有import屬性可以連續出現多次,因此可以使用該屬性導入多個包中類。
import="java.util.Date" import="java.io.File"
簡化:
import="java.util.Date,java.io.File"
舉例2:
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8" import="java.util.Date,java.io.File" 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-8"><title>Insert title here</title></head><body> 系統時間:<%= new Date() %><br/> <% File file = new File("aa.txt"); %> <%= file %> <br/> <%= 10/0 %></body>
error.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%><!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-8"><title>錯誤處理頁面</title></head><body> <%= exception.getMessage() %></body></html>
舉例3:使用JSP的page指令屬性忽略頁面中的EL表達式。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true" isELIgnored="true"%><!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-8"><title>錯誤處理頁面</title></head><body> <%= exception.getMessage() %> ${20+30 }</body></html>
總結:如果不忽略那么顯示的值是50,如果忽略那么直接顯示${20+30}。
2 include
JSP中可以使用包含指令來將公用的頁面直接包含進來,進而提高代碼的維護性。
<body> <%-- 使用包含指令包含其他的頁面 --%> <%@include file="/included.jsp" %> <p>some text some text some text some text</p></body>
總結:
被包含頁面和包含頁面被翻譯在同一個java文件中。因此將這種包含方式稱之為靜態包含。
那么被包含頁面中最好不要出現包含頁面中已經具有的數據。
3 taglib
JSP的taglib指令可以引入其他的標簽庫文件,使得在JSP頁面中可以直接使用標簽進行數據的邏輯處理。
<%-- 使用taglib指令引入標簽庫信息 --%><%@taglib uri="http://java.sun.com/jsp/jstl/core"4 JSP動作
JSP動作主要是用于簡化JSP中出現的JSP腳本片段。
常見的動作
<jsp:include page=""></jsp:include>? 包含頁面<jsp:forward page=""></jsp:forward>? 請求轉發<jsp:param/> ? 傳遞參數舉例1:使用JSP動作包含頁面。
該方式在包含頁面的時候將包含頁面和被包含頁面都進行了翻譯和編譯,因此稱之為動態包含。
包含頁面action.jsp
<body> <jsp:include page="/included.jsp" flush="true"> <jsp:param name="name" value="jack"/> </jsp:include> <h4>包含頁面的數據</h4></body>被包含頁面included.jsp
<body> <h3>被包含頁面的數據: <%= request.getParameter("name") %> </h3></body>舉例2:使用JSP動作實現頁面的轉發。
<jsp:forward page="/included.jsp"> <jsp:param name="name" value="jack"/></jsp:forward>
新聞熱點
疑難解答