将选定的下拉列表传递给controller-mvc

时间:2017-10-18 13:12:21

标签: java spring-mvc

我有一个带商店号码的简单选择, 我必须将所选值传递给控制器​​以处理excel

它不断传递空值

这是我的代码:

    <form>
    <label>Select a Store</label>
    <form:select id="store" name="store" path="storeList">
        <form:option value="">ALL</form:option>
        <form:options items="${storeList}" />
    </form:select>
    here<c:out value= "${store }"/>
    <input type="hidden" name="store"/>
    <a href="exportReportByStore.do?store=${store}" smButtonStyling"> 
        <img src="/web/static/images/remove.png" /> Export to excel
    </a>
</form>

我的控制员:

@RequestMapping(value = "exportReportByStore.do", method ={ RequestMethod.POST,  RequestMethod.GET}, produces = "application/vnd.ms-excel")
public void exportReportByStore(final StoreSignForm form, final HttpServletResponse response, final HttpServletRequest request,
        @RequestParam(value="store") final String store) {
    LOG.debug("Store To export" + store);
    List<StoreSign> signsList = storeSignService.getSignsByStore(store);

.......     }

如果我直接使用商店值点击链接,代码将起作用。 你能告诉我吗?

2 个答案:

答案 0 :(得分:0)

您应该在自己的javascript中发帖。您可以使用fetch api(https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)。

如果在href中设置,则执行GET方法。

你是什么意思&#34;如果我直接用商店价值点击链接,代码将起作用&#34;?

答案 1 :(得分:0)

我将链接更改为按钮并将映射添加到action = / exportReportByStore.do

    <form action="exportReportByStore.do" method="post">
    <label>Select a Store</label>
    <form:select id="store" name="store" path="storeList" style="top: 0px;width: 111px; ">
        <form:option value="">ALL</form:option>
        <form:options items="${storeList}" />
    </form:select>
    <input type="hidden" name="store"/>
    <input type="submit" value="Export" class="btnFwd gradient smButtonStyling">
</form>