2017-10-18 63 views
0

我有一个简单的选择一个门店数量, 我要选择的值传递给控制器​​处理Excel的通行证选择下拉列表控制器 - MVC

它不断传递空值

这里是我的代码:

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

MY控制器:

@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

你应该在你的javascript中发表一篇文章。您可以使用获取api(https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)。

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

你是什么意思,“如果我直接点击链接的商店价值,代码将工作”?

+0

我的意思是,如果我打exportReportByStore.do?store=3 ..这将打开右侧链接 – Samarland

+0

我是否需要一个JS?因为我使用的是Java + Spring – Samarland

+0

我在我的控制器中有POST,我的问题是选定的值没有传递给控制器​​:( – Samarland

0

我改变了链接按钮,并添加映射到行动=/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>