2012-02-09 96 views
-2

我有以下代碼:顯示當前日期

<html><body> 
<script type="text/javascript"> function date1(){ 
    ???? 
    alert(<%=d%>);}</script> 
<input type="button" value="date" onclick="date1()"/> 
</body></html> 

取而代之的是????的,究竟會出現每次我按下按鈕當前日期?

  1. <%String d = (new Date()).toString())%>
  2. <%String d = "new Date()"%>
  3. <%= Date d = new Date() %>;
+1

這是一項家庭作業嗎?還是測試? – Oded 2012-02-09 20:17:24

+0

爲什麼不試試?你知道你想放在那裏嗎?你有什麼問題嗎? – kosa 2012-02-09 20:17:27

+0

如果您需要服務器的日期,請使用ajax。如果可以是客戶的日期,則使用javascript日期。 – 2012-02-09 20:18:32

回答

3

由於這是家庭作業,我給你一個解釋沒有明確說明哪些選項是正確的:

請記住,當請求/服務的JSP任何服務器端Java代碼將只在點上運行,基本上是生成將輸出到瀏覽器的文本。在與警報行的代碼:

alert(<%=d%>); 

將輸出服務器端(JAVA)的alert語句的括號之間d變量的內容。所以正確答案是哪一個每個按鈕被點擊時會得到一個新的JavaScript日期,所以你需要在這個輸出到瀏覽器的工作是哪一個結果:

alert(new Date()); 

的答案只有一個確實是。

注意:如果你不能弄明白,試着用每個答案實際運行代碼,看看哪些工作。我想你會發現其中一個答案產生無效的JavaScript,一個產生服務器端編譯錯誤,另一個產生作用。

1

這是你在找什麼呢? 您不需要JSP進行此類操作。

1.第一個選項會產生編譯錯誤,因爲Date無法解析爲類型(您需要在jsp上使用import語句)並且應該刪除1個右括號。如果你修復這個選項會產生靜態代碼如下

alert(Thu Feb 09 22:20:08 CET 2012); 

因爲JavaScript需要「來標記字符串這將產生‘丟失)後的參數列表’,將無法正常工作。

2.second選項是正確的(就像nnnnnn說),因爲靜態代碼將看起來像

alert(new Date()); 

而且因爲日期也是JavaScript函數的代碼會顯示警告窗口日期。

3.third選項完全搞砸了,因爲<%=意味着「打印」,因此「Date d =」是語法錯誤。

+0

這是我家庭作業的一個問題..我不能改變泰碼 – kakush 2012-02-09 20:21:58

+0

然後沒有。 1是正確的,第二行將打印「新日期()」,最後一個是不正確的,因爲分號。 – darek 2012-02-09 20:28:59

+1

在第二個答案 - 你注意到它是警報(<%=d%>)而不是警報(d)? – kakush 2012-02-09 20:35:21