1. 程式人生 > >【JSP】(一)JSP基礎語法

【JSP】(一)JSP基礎語法

efault output ole type ons att dir 定義 發生

【本文展示以下用法】:

  1.JSP中文編碼問題, JSP聲明, JSP表達式, JSP註釋,

  2.JSP指令,JSP行為,

  3.JSP隱含對象

  4.控制流語句: 判斷語句,循環語句

  5.字面量

  6.運算符

一.JSP中文編碼問題, JSP聲明, JSP表達式, JSP註釋

1.中文編碼

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

2.JSP聲明

<%! declaration; [ declaration; ]+ ... %>

3.jsp表達式

<%= 表達式 %>

4.jsp註釋

<%--我是一個註釋--%> 

二.JSP指令,JSP行為

1.JSP指令

JSP指令用來設置與整個JSP頁面相關的屬性

<%@ directive attribute="value" %>

這裏有三種指令標簽:

指令 描述
<%@ page ... %> 定義頁面的依賴屬性,比如腳本語言、error頁面、緩存需求等等
<%@ include ... %> 包含其他文件
<%@ taglib ... %>
引入標簽庫的定義,可以是自定義標簽

2.JSP行為

JSP行為標簽使用XML語法結構來控制servlet引擎。

它能夠動態插入一個文件,重用JavaBean組件,引導用戶去另一個頁面,為Java插件產生相關的HTML等等。

行為標簽只有一種語法格式,它嚴格遵守XML標準:

<jsp:action_name attribute="value" />

行為標簽基本上是一些預先就定義好的函數,下表羅列出了一些可用的JSP行為標簽::

語法描述
jsp:include 用於在當前頁面中包含靜態或動態資源
jsp:useBean 尋找和初始化一個JavaBean組件
jsp:setProperty 設置 JavaBean組件的值
jsp:getProperty 將 JavaBean組件的值插入到 output中
jsp:forward 從一個JSP文件向另一個文件傳遞一個包含用戶請求的request對象
jsp:plugin 用於在生成的HTML頁面中包含Applet和JavaBean對象
jsp:element 動態創建一個XML元素
jsp:attribute 定義動態創建的XML元素的屬性
jsp:body 定義動態創建的XML元素的主體
jsp:text 用於封裝模板數據

三.JSP隱含對象

JSP支持九個自動定義的變量,江湖人稱隱含對象。這九個隱含對象的簡介見下表:

對象描述
request HttpServletRequest類的實例
response HttpServletResponse類的實例
out PrintWriter類的實例,用於把結果輸出至網頁上
session HttpSession類的實例
application ServletContext類的實例,與應用上下文有關
config ServletConfig類的實例
pageContext PageContext類的實例,提供對JSP頁面所有對象以及命名空間的訪問
page 類似於Java類中的this關鍵字
Exception Exception類的對象,代表發生錯誤的JSP頁面中對應的異常對象

四.控制流語句

1.if-else語句

<%-- 中文顯示 --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%--聲明一個int型變量--%>
<%! int day = 3; %> 
<!DOCTYPE html>

<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>

<body>
<h3>IF...ELSE 實例</h3>
<% if (day == 1 | day == 7) { %>
      <p>今天是周末</p>
<% } else { %>
      <p>今天不是周末</p>
<% } %>
</body> 

</html> 

2.switch語句

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! int day = 3; %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<h3>SWITCH...CASE 實例</h3>
<% 
switch(day) {
case 0:
   out.println("星期天");
   break;
case 1:
   out.println("星期一");
   break;
case 2:
   out.println("星期二");
   break;
case 3:
   out.println("星期三");
   break;
case 4:
   out.println("星期四");
   break;
case 5:
   out.println("星期五");
   break;
default:
   out.println("星期六");
}
%>
</body> 
</html> 

3.for循環

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! int fontSize; %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<h3>For 循環實例</h3>
<%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
   <font color="green" size="<%= fontSize %>">
    菜鳥教程
   </font><br />
<%}%>
</body> 
</html> 

4.while循環

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! int fontSize=0; %> 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<h3>While 循環實例</h3>
<%while ( fontSize <= 3){ %>
   <font color="green" size="<%= fontSize %>">
    菜鳥教程
   </font><br />
<%fontSize++;%>
<%}%>
</body> 
</html> 

五.字面量

JSP語言定義了以下幾個字面量:

  • 布爾值(boolean):true 和 false;
  • 整型(int):與 Java 中的一樣;
  • 浮點型(float):與 Java 中的一樣;
  • 字符串(string):以單引號或雙引號開始和結束;
  • Null:null。

六.運算符

下表羅列出了JSP常見運算符,優先級從高到底:

類別操作符結合性
後綴 () [] . (點運算符) 左到右
一元 ++ - - ! ~ 右到左
可乘性 * / % 左到右
可加性 + - 左到右
移位 >> >>> << 左到右
關系 > >= < <= 左到右
相等/不等 == != 左到右
位與 & 左到右
位異或 ^ 左到右
位或 | 左到右
邏輯與 && 左到右
邏輯或 || 左到右
條件判斷 ?: 右到左
賦值 = += -= *= /= %= >>= <<= &= ^= |= 右到左
逗號 , 左到右

鏈接引用:

[runoob]:http://www.runoob.com/jsp/jsp-syntax.html

【JSP】(一)JSP基礎語法