標籤:
原文地址: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中指令碼、聲明和運算式的本質區別