JSP中指令碼、聲明和運算式的本質區別

來源:互聯網
上載者:User

標籤:

        原文地址:http://blog.csdn.net/csuliky/article/details/2444854

        JSP指令碼元素

  使用JSP指令碼元素可以將Java代碼嵌入到JSP頁面裡,這些Java代碼將出現在由當前JSP頁面產生的Servlet中,

使JSP將靜態內容與動態內容分離出來。指令碼元素包含:

        1. 運算式

        運算式: 是對資料的表示,系統將其作為一個值進行計算。

        文法:<%= expression %> 

        例如:<%=user.getName() %>

        運算式的本質:在將JSP頁面轉換成Servlet後,使用out.print()將運算式的值輸出。這樣如果user.getName()的返

回值是"liky", 那麼實際上在servlet中就將轉換成out.print("liky");

        因此這裡要注意以下兩點:

        1) 如果運算式是調用一個方法,那麼這個方法必須要有返回值,而不應是void,也就是說void getName()這樣的

方法是不能被調用的。

        2) 在方法的後面不能有分號;例如<%=getName();%>這是不允許的。

        2. 指令碼

        指令碼:就是在<% %>裡嵌入Java代碼,這裡的Java代碼和我們一般的Java代碼沒有什麼區別,所以每一條語句

同樣要以";"結束,這和運算式是不相同的

       文法:<% code %> 

       指令碼的本質:就是將代碼插入到Servlet的service()方法中。

       例如:

 <%   if (user != null ) {  %>  Hello <B><%=user%></B> <%   } else {  %>  You haven't login! <%  } %>

       轉譯成:

 if (user != null ) {   out.println("Hello <B>" + user + "</B>");  } else {    out.println("You haven't login!");  }

       3. 聲明       聲明:就是允許使用者定義Servlet中的變數、方法。

       文法:<%! code %> 例如:<%! String getName() { return name; } %>

       聲明的本質:其實就是將聲明的變數加入到Servlet類(在任何方法之外),方法就成了Servlet()的方法。


 
       

JSP中指令碼、聲明和運算式的本質區別

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.