2010-03-11 190 views
1

如何在JSP頁面中的某個變量上指定一個值,然後單擊按鈕?如何在JSP中單擊按鈕時將值賦給變量(Java變量)?

我在我的JSP頁面中有一個「刪除」按鈕。當用戶點擊這個按鈕時,它必須設置一個var(比如一個布爾標誌或者一個字符串)爲某個值。我怎樣才能做到這一點?

<% boolean del=false; %> 
<input type="button" name="deleteAnswer" value="delete" onClick= <Code to set del> /> 
<% if(del) { My Code } %> 

回答

1

不幸的是,Web界面不工作。

整個JSP首先被渲染併發送到瀏覽器。然後用戶可以點擊,並且可以將結果發送到服務器並製作另一個頁面。 在服務器上處理它時,用戶無法與JSP進行交互。

另一種方法是使用JavaScript對點擊作出反應。

0

服務器機器具有帶Java/JSP的網絡服務器。客戶端機器具有HTML/CSS/JS的網頁瀏覽器。 Webbrowser發送HTTP請求並檢索HTTP響應。 Web服務器檢索HTTP請求併發送HTTP響應。 Java/JSP在Web服務器上運行並生成HTML/CSS/JS頁面。服務器機器通過網絡向客戶機發送HTML/CSS/JS頁面。 Webbrowser檢索HTML/CSS/JS並開始顯示HT​​ML,應用CSS並執行JS。客戶機上沒有Java/JSP的手段。要在客戶端操作期間執行Java/JSP,只需將特定的Java/JSP代碼附加到特定的HTTP請求。

要開始,只是有一個HTML表單,像這樣在JSP:

<form action="delete" method="post"> 
    <input type="submit" value="Delete"> 
</form> 

而一個在web.xml其中偵聽/deleteurl-patternServlet定義:

<servlet> 
    <servlet-name>delete</servlet-name> 
    <servlet-class>com.example.DeleteServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>delete</servlet-name> 
    <url-pattern>/delete</url-pattern> 
</servlet-mapping> 

創建com.example.DeleteServlet看起來像這樣:

public class DeleteServlet extends HttpServlet { 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // Your code here. 

     // Show JSP page. 
     request.getRequestDispatcher("page.jsp").forward(request, response); 
    } 
} 

這基本上都是。要了解更多關於JSP/Servlets的信息,我可以推薦those tutorials