1. 程式人生 > >20160916------JSP基本語法

20160916------JSP基本語法

**

一、JSP簡介:

**
1、JSP
JSP是指Java伺服器端頁面,由HTML+JSP標記+Java程式碼組成。

2、特點:

①降低了程式設計的難度

②可以使用視覺化工具,減少了開發工作量

③不需要手動編譯

④包含相關的內建物件、指令元素與動作元素,簡化了編寫servlet程式的過程。

⑤可運用Java所提供的各類包

3、執行過程:

①請求(Request)

②翻譯(Servlet即.java檔案)

③編譯(.class檔案)

④執行

⑤響應(Response)

這裡寫圖片描述

4、基本元素:
這裡寫圖片描述

二、JSP基本元素

這裡寫圖片描述

1、jsp註釋

<%-- annotation --%> //jsp註釋:不經過翻譯階段,客戶端不可見

<% //annotation  %>  //單行註釋:經過翻譯階段,客戶端不可見

<% /* annotation
      annotation
      annotation*/%> //多行註釋:經過翻譯階段,客戶端不可見

<!--  -->            //html註釋:經過翻譯、編譯階段,客戶端可見

2、JSP指令碼元素

(1)JSP宣告

<%! int a=0; %> //成員變數
<% int b=0; %>  //區域性變數
…… //還有成員方法和區域性方法

(2)JSP指令碼

<% Java程式碼 %> 

(3)JSP表示式

<%=表示式 %>

//注意:表示式後無分號
//     表示式返回結果為字串。

3、JSP指令元素

<%@ include / page / tablib %>//三大指令元素

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

4、JSP動作元素

這裡寫圖片描述

(1)include動作元素

  • 作用:

    include動作元素用來在JSP頁面中包含其他靜態頁面和動態頁面。

  • 無引數格式:

<jsp:include page=”檔案路徑” flush=”true
|false”/>
  • 帶引數格式:
<jsp:include page=”檔案路徑” flush=”true|false”/>
        <jsp:param name=”引數名1” value=”引數1的值”>
       <jsp:param name=”引數名2” value=”引數2的值”/>
       <jsp:param name=”引數名3” value=”引數3的值”/><jsp:param name=”引數名n” value=”引數n的值”/>
</jsp:include>
  • 示例:
<body>
<!-- 動態包含靜態檔案 -->
<jsp:include page="1.html" flush="true"></jsp:include>
<% String name=request.getParameter("name");
   if(name==null||name==""){
      name="0";
   }
%>
<!-- 動態包含檔案並傳遞引數 -->
<jsp:include page="2.jsp" flush="true">
    <jsp:param name="r" value="<%=name %>" />
</jsp:include>

<!-- 動態包含檔案並不傳遞引數 -->
<jsp:include page="3.jsp" flush="true"></jsp:include>
</body>

(2)forward動作元素

  • 作用:

    forward動作元素用來跳轉網頁,即將當前頁面跳轉到其他指定頁面。轉向的目標頁面可以是靜態HTML頁面、JSP頁面或Servlet類。

  • 無引數格式:

<jsp:forward page=”檔案路徑” flush=”true|false”/>
  • 帶引數格式:
<jsp:forward page=”檔案路徑” flush=”true|false”/>
     <jsp:param name=”引數名1” value=”引數1的值”>
     <jsp:param name=”引數名2” value=”引數2的值”/>
     <jsp:param name=”引數名3” value=”引數3的值”/><jsp:param name=”引數名n” value=”引數n的值”/>
</jsp:forward>
  • 示例:
//使用者登入頁面,登入成功跳轉到sucess.jsp,否則跳轉到error.jsp
<body>
<% String name=request.getParameter("name");
   String pwd=request.getParameter("pwd");

   if(name.equals("sa")&&pwd.equals("123")){
%>
<jsp:forward page="sucess.jsp">
     <jsp:param value="<%=name%>" name="name"/>
     <jsp:param value="<%=pwd%>" name="pwd"/>
</jsp:forward>

<% }else{%>
    <jsp:forward page="error.jsp"></jsp:forward>
<% }%>  
</body>

(3)param動作元素

  • 作用:

    param動作元素主要用來向需要包含的動態頁面或要跳轉的動態頁面傳遞引數。

  • 語法:

<jsp:param name=”屬性名” value=”屬性值”/>

//注意:param動作元素必須配合include動作元素、forward動作元素和plugin等元素,在載入外部程式或是網頁轉換的時候,傳遞引數給另外一個JSP程式。
  • 示例:
<body>
<% String str=null;
   str="Hello World!";
%>

<jsp:forward page="1.jsp" >
    <jsp:param name="str" value="<%=str%>" />
</jsp:forward>
</body>

(4)useBean動作元素

  • 作用:
    useBean動作元素用來在JSP中建立並使用一個JavaBean。實際工作中常用JavaBean做元件開發,而在JSP中只需要宣告並使用這個元件,這樣可以較大限度地實現靜態內容和動態內容的分離。

  • 語法:

<jsp:useBean id=”bean的名稱” scope=”有效範圍” class=”包名.類名”></useBean>

//useBean動作元素有id、class、scope、type和beanName五種屬性
  • 示例:
//圓形實體類
public class CircleBean {
    private double radius=1.0;
    private double perimeter;
    private double area;
                      private double  PI=3.14;
    public CircleBean(){  }
    public void setRadius(double r){
        radius=r;
    }
    public double getRadius(){
        return radius;
    }
    public double getPerimeter(){
        perimeter=radius*2*PI;
        return perimeter;
    }
    public double getArea(){
        area=radius*radius*PI;
        return area;
    }
}


//jsp頁面

<body>
<form id="form1" name="form1" method="post" action="">
  請輸入圓的半徑:
  <input type="text" name="radius1" />
  <input type="submit" name="Submit" value="提交" />
</form>

<!-- 載入JavaBean -->
<jsp:useBean id="cicle" class="ch07.CircleBean" ></jsp:useBean>
<!-- 使用setProperty屬性設定JavaBean屬性 -->
<jsp:setProperty property="*"  name="cicle" />
<jsp:setProperty property=" radius"  name="cicle“ param=“radius1” />

<!-- 使用getProperty屬性獲取JavaBean屬性 -->
<p>圓的半徑:<jsp:getProperty property="radius" name="cicle"/> </p>
<p>圓的面積:<jsp:getProperty property="area" name="cicle"/> </p>
<p>圓的周長:<jsp:getProperty property="perimeter" name="cicle"/> </p>
</body>

(5)setProperty

  • 作用:

    設定Bean中的屬性值。

  • 語法:

<jsp:setProperty name="bean的名稱" property="*"  />

<jsp:setProperty name="bean的名稱" property="屬性名稱"  />

<jsp:setProperty name="bean的名稱" property="屬性名稱"  param=”引數名稱” />

<jsp:setProperty name="bean的名稱" property="屬性名稱"  value=”屬性值” />

(6)getProperty

  • 作用:

    getProperty動作元素獲取Bean中的屬性值並將其轉換為字串,用於在頁面中顯示。

  • 語法:

<jsp:getProperty name="bean的名稱" property="屬性名稱"  />

(7)plugin動作元素

  • 作用:

    plugin動作元素用來在JSP網頁中載入Java Applet或JavaBean程式元件。

  • 語法:

<jsp:plugin
      type=”bean|applet”
      code=”載入Java程式編譯後的類名稱”
      codebase= 編譯後Java程式類所在目錄”
      name=”名稱”
      align=”top|right|bottom|left”
      height=”載入的程式在視窗中顯示的高度”
      width=”載入的程式在視窗中顯示的寬度”
      hspace=”載入的顯示區與網頁其他內容的水平間隔”
      vspace=”載入的顯示區與網頁其他內容的垂直間隔”>
<jsp:params>
     <jsp:param name=”引數名1” value=”引數1的值”>
     <jsp:param name=”引數名2” value=”引數2的值”/><jsp:param name=”引數名n” value=”引數n的值”/>
</jsp:params>
</jsp:plugin>
  • 示例:
<form id="form1" name="form1" method="post" action="">
  請輸入圓的半徑:
  <input type="text" name="name" />
  <input type="submit" name="Submit" value="提交" />
</form>
<%String str=request.getParameter("radius");
  if(str==null||str==""){str="30"; }
%>

<!-- 載入Java Applet -->
<jsp:plugin code="CircleApplet.class"  type="applet"  width="300" height="300">
    <jsp:params>
        <jsp:param name="width" value="300"/>
        <jsp:param name="height" value="300"/>
        <jsp:param name="radius" value="<%=str%>"/>
    </jsp:params>
</jsp:plugin>