2015-11-08 124 views
-1

因此,我在一個JSP中創建一個表單,並將數據傳遞給另一個JSP以檢查它是否爲空。我可以這樣做嗎?使用JSTL在JSP之間傳遞值

First.jsp

<form id="search-form" name="search"> 
        <input type="text" name="txtSearch" id="search-field"> 
        <button type="submit" onclick="<c:set var="search" value="${param.txtSearch}" scope="request"/>"><a href="Second.jsp">SEARCH</a></button> 
       </form> 

Second.Jsp

<c:set var="search" value="${requestScope['search']}"/> 
<c:choose> 
     <c:when test="${empty search}"> 
      <h1>Empty</h1> 
     </c:when> 
     <c:otherwise> 
      <h1>${search}</h1> 
</c:otherwise> 
    </c:choose> 

回答

2

你正在檢查放錯了地方的請求參數。您應該在與目標資源關聯的請求中檢查它。 onclick內部的<c:set>沒有任何意義。 JSP生成HTML代碼。 onclick只執行JS代碼。右擊頁面,執行查看源文件並查看onclick屬性的位置。你有看到?它是空的!此外,包含在HTML按鈕中的HTML鏈接也是無稽之談。你基本上正在生產invalid HTML。在表格中,您應該在<form action>中指定目標資源。

這裏有一個基本的開球例如:

<form action="Second.jsp"> 
    <input type="text" name="txtSearch" /> 
    <input type="submit" value="Search" /> 
</form> 
<c:choose> 
    <c:when test="${empty param.txtSearch}"> 
     ... 
    </c:when> 
    <c:otherwise> 
     ... 
    </c:otherwise> 
</c:choose> 

無論如何,我強烈建議退後一步,如果你真的很喜歡使用的學習資源,以瞭解HTTP,HTML和JSP正確的審查。你的第一次嘗試中出現了一些嚴重的基本錯誤。從這裏開始:Java EE web development, where do I start and what skills do I need?

+0

謝謝,感謝您的幫助。我將回顧我在HTTP,HTML和JSP方面的知識。 – user3676506

+0

我還有一個問題。在First.jsp中,如果我只有一個,有沒有辦法獲得與上面相同的結果? – user3676506

+0

這部分是爲了評論,而不是新問題。在右上方有一個「Ask Question」按鈕。無論如何,只要先學習一些基本的HTML。 – BalusC