jsp form submit 提交到后台的input元素的值中包含之前查询过的内容

    xiaoxiao2026-03-30  10

    部分jsp页的代码如下:

    <form method="post" action="/detailInfoController/managerChange" id="managerChangeForm"> <div> <span class="search-p"> <input id="inputTxt" name="keyword" value="${keyword}" type="text" class="search-p-input" placeholder="可搜索需求编号、负责人ERP,表名"> </span> <span class="search-bt-p"> <input id="searchBt" type="button" value="搜索" class="search-bt-p-input"> </span> </div> <table><%-- 此处是for循环画出的表格 --%></table> </form>

    后台的代码如下:

    @RequestMapping("managerChange") public String managerChange(Model model, String keyword){ List lists = detailInfoService.getDetailInfoListsForPage(keyword); String erp = SessionUtils.getUserErp(); model.addAttribute("data", lists); model.addAttribute("keyword", keyword); model.addAttribute("userErp",erp); return "detail/managerChange"; } 例如第一次查询的是aaaa,则后台keyword传入的值是aaaa,如果第二次查询的值是bbbb,则后台keyword传入的值就变成了bbbb,aaaa,当真是奇怪。 后来查看了一下了之前写过的相似的jsp,才发现是因为form的范围过大造成的。jsp部分的代码改成下面的代码就好了: <form method="post" action="/detailInfoController/managerChange" id="managerChangeForm"> <div> <span class="search-p"> <input id="inputTxt" name="keyword" value="${keyword}" type="text" class="search-p-input" placeholder="可搜索需求编号、负责人ERP,表名"> </span> <span class="search-bt-p"> <input id="searchBt" type="button" value="搜索" class="search-bt-p-input"> </span> </div> </form>

    也就是将与搜索无关的内容全都排除出去。具体的原因,还不清楚,待之后明白了再来补充,现在先记录一下。

    转载请注明原文地址: https://ju.6miu.com/read-1308316.html
    最新回复(0)