2013-03-03 84 views
0

這裏是我的代碼,我怎麼能留住形式的值時,我的超級引用鏈接上單擊(A HREF:代碼的底部)。如何在jsp頁面中保留表單值?

<form action="APPServlet"> 
    <div class=""> 
     <div class="">Search For:</div> 
     <div class=""> 
      <input type="text" size="45" align="right" name="searchRequest"> 
     </div> 
    </div> 
    <div class=""> 
     <div class="">Exclude:</div> 
     <div class=""> 
      <input type="text" size="45" align="right" name="excludeWords"> 
     </div> 
    </div> 
    <div class=""> 
     <div class="">In Modules:</div> 
     <div class=""> 
      <select name="modules"> 
       <option name="module" value="all">All modules</option> 
       <c:forEach var="module" items="${modelObj.modules}"> 
        <option name="module" value="${module}">${module}</option> 
       </c:forEach> 
      </select> 
     </div> 
    </div> 
</form> 

<!-- ahref outside the form , this does not work 
    &searchRequest=${searchRequest} <- Guess the value is out of scope 
--> 
<div class="div-table-row"> 
    <div class="div-table-single-col"> 
     ${question.id} <a href="APPServlet?id=${question.id}&searchRequest=${searchRequest}">${question.topic}</a> 
    </div> 
</div> 
+0

您可以簡單地將'value'屬性添加到這些文本框中:'value = $ {param.serchRequest}'和'value =「$ {param.excudeWords}」'。一定要將它們作爲參數傳遞給查詢字符串,因爲您正在使用該鏈接。如果我是你,那麼我會更多地使用支持bean來達到這個目的。 – Lion 2013-03-03 15:31:10

回答

1

您有幾種可能性,以及所有涉及到的JavaScript 。

  1. 當點擊鏈接,使用JavaScript通過附加的形式的輸入的所有的值作爲URL

  2. 當點擊鏈接參數改變它的HREF,添加一個隱藏字段包含問題ID的表單,更改表單的動作以使其轉到MCQApp,而不是轉到APPServlet,然後提交表單

  3. 最清潔的一個:當點擊鏈接時,發送AJAX請求到用HTML片段(或數據)響應的URL,並替換您想要的頁面部分o用這個HTML片段進行更新,從而將表單保留在頁面中。

0

有兩種方法,如果您正在使用會話,請將其存儲爲會話的屬性。但是,如果您不使用會話,則可以使用Cookie,只需將所需值存儲在新Cookie中,然後調用Cookie並獲取值。

會話也是cookies,但它們有另外的功能,cookie更簡單,並幫助您存儲值,以便日後重用。最好的問候

0

保存在模型中傳遞的數據,並在JSP喜歡使用它,

把你所有的輸入變量的搜索模型對象並更新它,每當搜索called.Keep searchRequest在在呈現響應之前請求屬性。