程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> JSP的基本語法,JSP基本語法

JSP的基本語法,JSP基本語法

編輯:JAVA綜合教程

JSP的基本語法,JSP基本語法


JSP的基本語法

一、JSP頁面中的JAVA代碼 二、JSP頁面中的指令 三、JSP頁面中的隱含對象(九大內置對象) 目錄

一、JSP頁面中的JAVA代碼

  • JSP表達式(方便輸出)
  • JSP小腳本(完成相對較長的邏輯運算)
  • JSP聲明(添加屬性或方法)

1、JSP表達式(格式:<%=%>)

1     <%=2+2%>
2     <%=xx.getName()%>
3     <%=xx.getName()+“str”%>

注意:表達式結束不需要寫分號。

這種形式的Java代碼在轉譯成Servlet時,<%= %>內的代碼會成為service()方法中使用out.print語句的輸出。

1     out.print(2+2);
2     out.print(xx.getName());
3     out.print(xx.getName()+“str”));

2、JSP小腳本(格式:<%%>)

 1     <table>
 2     <% 
 3        List<Student> students = (List<Student>)request.getAttribute(“students“);
 4        for(Student st : students){
 5     %>
 6               <tr>
 7                   <td> <%=st.getId()%>    </td>
 8                   <td> <%=st.getName()%>  </td>
 9               </tr>
10     <%
11         }
12     %>
13     </table>

以上代碼使用小腳本動態生成一個表格。<% %>內的代碼最終都會成為service方法的一部分,轉換結果如下:

 1     public void service(…){
 2       out.write(“<table>”);
 3       List<Student>  students = (List<Student>)request.getAttribute(“students“);
 4       for(Student st : students){
 5          out.write(“<tr> <td>”);
 6          out.print(st.getId());
 7          out.write(“</td><td>”);
 8          out.print(st.getName());
 9          out.write(“</td></tr>”);
10       }
11       out.write(“</table>”);
12     }

3、JSP聲明(格式:<%! %>)

1     <%!
2         private String name; //屬性聲明
3 
4         public void fun(){   //方法聲明
5             //…  方法體
6         }
7     %>

 JSP聲明<%! %>內的代碼可以為對應的Servlet添加屬性和方法,轉換為Servlet之後的結果如下:

 1     public class XXX_JSP extends JSPBase{
 2         private String name; //屬性聲明
 3        
 4         public void fun(){    //方法聲明
 5            // … 方法體
 6         }
 7 
 8          public void  service(… …){
 9                
10          }
11     }

二、JSP頁面中的指令

  • page指令
  • include指令
  • taglib指令

1、page指令

page指令可以導入java包,也可以對頁面的一些屬性進行設置。

1     <%-- 導包 --%>
2     <%@ page import=“java.util.*“%>
3     <%@ page import=“java.util.*,java.sql.*“%>
4 
5     <%-- 設置response.setConentType方法的參數值 --%>
6     <%@ page contentType=“text/html;charset=utf-8“%>
7 
8     <%-- 設置容器讀取該文件時的解碼方式 --%>
9     <%@ page pageEncoding=“UTF-8“%>

 

(1)使用page指令導包時,需要用到import屬性。如果需要導入多個包,可以分成多條page指令來編寫,也可以在一條page指令中,使用“,“逗號作為分隔來實現。

(2)contentType屬性,設置輸出內容的編碼方式,這樣就可以設置浏覽器使用正確的解碼方式來顯示頁面。

(3)pageEncoding屬性,設置容器讀取該文件時的解碼方法,這段代碼可以保證頁面在加載到內存時正確的解碼中文。

注意,page指令要放在頁面的最上面編寫。

2、include指令

include指令主要用於將其他頁面包含在另一個頁面之中,可以實現頁面內容的重用。include指令的語法如下:

1 <%@ include file=“thetitle.html” %>

3、taglib指令

可引入JSTL的標簽庫,將標簽庫對應的jar包拷貝到WEB-INF/lib目錄下,以便於系統可以加載所需要的類。使用taglib指令在頁面上引入標簽的命名空間和前綴,幫助系統定位對應的類。

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

 

三、JSP頁面中的隱含對象(九大內置對象)

由於JSP頁面最終要轉化為一個Servlet,而作為即將轉變為Servlet的一個前期版本,會有很多系統提供給頁面能夠直接使用的對象,根據頁面中要實現的功能直接使用即可。具體的隱含對象信息見下表:

 

隱含對象 類型 說明 request HttpServletRequest 代表請求對象 response HttpServletResponse 代表響應對象 out JSPWriter 輸出流 session HttpSession 會話 application ServletContext 全局的Servlet上下文對象 pageContext PageContext JSP頁面上下文 page Object 代表JSP頁面本身,即this config ServletConfig Servlet配置對象 exception Throwable 捕獲的頁面異常對象

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved