2012-07-14 127 views
4

JSP文件和servlet一起工作時,我遇到了<% … %><%= … %>JSP - 「<% … %>」VS「<%= … %>」

這兩種情況有什麼區別?

由於

+0

http://docs.oracle.com/javaee/5/tutorial/doc/bnaou.html – Taha 2012-07-14 07:41:27

+0

你還必須在JSP ,這是用來聲明全局變量 – MaVRoSCy 2012-07-14 10:44:15

+0

@MaVRoSCy我見過'<%! &>,但不是方法聲明。我能扭轉順序嗎? – Mushy 2017-12-09 15:08:45

回答

5

<% ... %>情況下,要添加一個服務器端碼。在<%= ... %>的情況下,您正在添加一個自動打印內容的服務器端代碼。它可以被看作是<% out.print(something) %>的快捷方式。

8
<%= new java.util.Date() %> 

是相同

<% out.println(new java.util.Date()) %> 

有三種類型的小腳本的:

  • 形式<%=表達的的scriptlet表達式%>被評估並插入到輸出
  • 形式爲的Scriptlet%code%>插入到servlet的服務方法中
  • Scriptlet聲明<%!代碼%>插入到servlet類的主體中,而不是任何現有的方法。對於前:

    <%! 
    
    public int sum(int a, int b) { 
    
    return a + b; 
    } 
    
    %> 
    
+0

'out.print()'和'out.println()'之間有什麼區別? – 2016-08-18 12:58:54

+0

@KasunSiyambalapitiya'out.print()'不會插入新的換行序列。 'out.println()'確實。 – Mushy 2017-12-09 15:11:21