JSP內置對象實驗

<%
int a=Integer.parseInt(request.getParameter("n1"));
int b=Integer.parseInt(request.getParameter("n2"));
int c=Integer.parseInt(request.getParameter("n3"));
String j=request.getParameter("j");
int s=0;
if(j.equals("+"))
  s=a+b;
if(j.equals("-"))
  s=a+b;
if(j.equals("*"))
  s=a+b;
if(j.equals("/"))
  s=a+b;
boolean t=(s==c);
%>
<jsp:forward page="jisuanJiguo.jsp">
<jsp:param value=<%=t %> name="T"/>
<jsp:param value=<%=s %> name="S"/>
</jsp:forward>
<form action="doJisuan.jsp" method="post">
<input type="text" name="n1"/>
<select name="j">
<option value="+" selected="selected">+</option>
<option value="-" >-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" name="n2"/>
<input type="text" name="n3"/>
<input type="submit" value="計算"/>
</form>
<%
boolean t=Boolean.parseBoolean(request.getParameter("T"));
String s=request.getParameter("S");
if(t)
  out.print("恭喜你,答對了");
else
  out.print("回答錯誤,答案是:"+s);
%>

運行結果:

本案例講述使用jsp內置的request對象和forward動作標籤完成2個數的四則運算。能夠判斷結果的對錯,並顯示結果。

JSP語法

本小節將會簡單地介紹一下JSP開發中的基礎語法。


腳本程序

腳本程序可以包含任意量的Java語句、變量、方法或表達式,只要它們在腳本語言中是有效的。

腳本程序的語法格式:

<% 代碼片段 %>

或者,您也可以編寫與其等價的XML語句,就像下面這樣:

<jsp:scriptlet>
   代碼片段
</jsp:scriptlet>

任何文本、HTML標籤、JSP元素必須寫在腳本程序的外面。

下面給出一個示例,同時也是本教程的第一個JSP示例:

<html><head><title>Hello World</title></head><body>
Hello World!<br/><%out.println("Your IP address is " + request.getRemoteAddr());
%>
</body></html>

注意:請確保Apache Tomcat已經安裝在C:\apache-tomcat-8.5目錄下並且運行環境已經正確設置。

將以上代碼保存在hello.jsp中,然後將它放置在 C:\apache-tomcat-8.5\webapps\ROOT目錄下。

中文編碼問題

如果我們要在頁面正常顯示中文,我們需要在 JSP 文件頭部添加以下代碼:

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

JSP聲明

一個聲明語句可以聲明一個或多個變量、方法,供後面的Java代碼使用。在JSP文件中,您必須先聲明這些變量和方法然後才能使用它們。

JSP聲明的語法格式:

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

或者,您也可以編寫與其等價的XML語句,就像下面這樣:

<jsp:declaration>
   代碼片段
</jsp:declaration>

JSP表達式

一個JSP表達式中包含的腳本語言表達式,先被轉化成String,然後插入到表達式出現的地方。

由於表達式的值會被轉化成String,所以您可以在一個文本行中使用表達式而不用去管它是否是HTML標籤。

表達式元素中可以包含任何符合Java語言規範的表達式,但是不能使用分號來結束表達式。

JSP表達式的語法格式:

<%= 表達式 %>

同樣,您也可以編寫與之等價的XML語句:

<jsp:expression>
   表達式
</jsp:expression>

程序示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html><html><head><meta charset="utf-8"><title>陌然計算機編程</title>
</head>
<body>
<p>今天的日期是: <%= (new java.util.Date()).toLocaleString()%></p>
</body> 

</html> 

JSP註釋

JSP註釋主要有兩個作用:爲代碼作註釋以及將某段代碼註釋掉。

<%-- 該部分註釋在網頁中不會被顯示--%>

JSP指令

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

JSP指令語法格式:

<%@ directive attribute="value" %>

JSP行爲

JSP行爲標籤使用XML語法結構來控制servlet引擎。它能夠動態插入一個文件,重用JavaBean組件,引導用戶去另一個頁面,爲Java插件產生相關的HTML等等。

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

<jsp:action_name attribute="value" />

JSP隱含對象

JSP支持九個自動定義的變量,江湖人稱隱含對象。

控制流語句

JSP提供對Java語言的全面支持。您可以在JSP程序中使用Java API甚至建立Java代碼塊,包括判斷語句和循環語句等等。

判斷語句

If…else,請看下面這個例子:

<% if (day == 1 | day == 7) { %>
      <p>今天是週末</p><% } else { %>
      <p>今天不是週末</p><% } %>

循環語句

在JSP程序中可以使用Java的三個基本循環類型:for,while,和 do…while。

讓我們來看看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>

JSP 字面量

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

  • 布爾值(boolean):true 和 false;

  • 整型(int):與 Java 中的一樣;

  • 浮點型(float):與 Java 中的一樣;

  • 字符串(string):以單引號或雙引號開始和結束;

  • Null:null。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章