我有一个带商店号码的简单选择, 我必须将所选值传递给控制器以处理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);
....... }
如果我直接使用商店值点击链接,代码将起作用。 你能告诉我吗?
答案 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>