2014-01-05 20 views
0

我指定的href到一個按鈕和傳遞價值給控制器無法檢索從JSP傳遞的值通過一個按鈕來使用URL

  1. JSP頁面

    <td><a href="viewController?book_id=<%=vo.getBookId()%>"><input type="button" name="remove" value="DELETE"/></a> 
    </td> 
    
  2. 在到控制器控制器,我想獲得的價值是用單擊按鈕時:

    if(request.getParameter("remove") !=null) 
    { 
        int cart_id=(Integer)request.getSession(false).getAttribute("cartid"); 
        b_id = (String) request.getParameter("book_id"); 
        int bid=Integer.parseInt(b_id); 
        System.out.println(bid); 
    } 
    

雖然我已在URL中傳遞了book_id值,但會打印出空值。 我想知道如何通過按鈕獲取URL中傳遞的值。

回答

3

您不能將[a]標籤與[input]標籤組合在一起。 嘗試使用形式而不是與隱藏的輸入:

<form action=viewController> 
<input type=hidden name=remove value=delete> 
<input type=hidden name=book_id value=<%=vo.getBookId()%>> 
<input type=submit value='Delete'> 
</form> 

結果URL將是:viewController?remove=delete&book_id=...

+0

首先感謝的是這個作品...但我仍然在究竟是爲什麼我不能使用URL重寫,以按鍵的原因感到困惑? – Rishabh

+0

鈕釦自己什麼都不做。你需要添加一個onclick =「...」的JavaScript代碼,讓按鈕做一些事情。 –

2

當提交按鈕被按下時,整個表格將被髮送。您可以選擇其中的數據將通過使用屬性action發送:

<form action="demo_form.jsp"> 
    <!--inputs here--> 
    <input type="submit">Send me now</input> 
</form> 

在這種情況下的形式將被髮送到demo_form.jsp。在HTML5中,如果您想爲不同的按鈕使用不同的servlet,可以使用formaction屬性。

任何方式,您都不應該使用鏈接發送表單。

它可以使用鏈接沒有按鈕:

<a href="viewController?book_id=<%=vo.getBookId()%>">Remove</a>