【问题标题】:How to retain form values in jsp page? [duplicate]如何在jsp页面中保留表单值? [复制]
【发布时间】:2013-03-03 15:22:29
【问题描述】:

这是我的代码,当我点击超参考链接时,如何保留表单的值。(a href:代码底部)

<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>  

【问题讨论】:

  • 您可以简单地将 value 属性添加到这些文本框 - value=${param.serchRequest}value="${param.excudeWords}"。确保在使用链接时将它们作为参数传递给查询字符串。如果我是你,那么我会更多地使用支持 bean。

标签: java jsp web-applications servlets


【解决方案1】:

您有多种可能性,并且都涉及 JavaScript。

  1. 单击链接时,使用 JavaScript 更改其 href,方法是将表单输入的所有值附加为 URL 的参数

  2. 点击链接时,向包含问题ID的表单添加隐藏字段,更改表单的操作使其转到MCQApp而不是APPServlet,然后提交表单

  3. 最干净的一个:当点击链接时,向一个以 HTML 片段(或数据)响应的 URL 发送 AJAX 请求,并用这个 HTML 片段替换您要更新的页面部分,从而使表单在页面中保持原样。

【讨论】:

    【解决方案2】:

    有两种方法,如果您正在使用会话,请将其存储为会话的属性。但是如果你不使用会话,你可以使用 Cookies,只需将你想要的值存储在一个新的 cookie 中,然后调用 cookie 并获取值。

    会话也是 cookie,但它们还有其他功能,cookie 更简单,可以帮助您存储以后可以重复使用的值。最好的问候

    【讨论】:

      【解决方案3】:

      保留模型中传递的数据并在jsp中使用它,例如,

      将所有输入变量保留在搜索模型对象中,并在调用搜索时更新它。在呈现响应之前将 searchRequest 保留在请求属性中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多