2014-11-23 45 views
0

我有一種獨特的問題 - 我無法找到答案或示例。獲取單個HTML列表元素回到我的彈簧控制器

我有一個顯示單個產品的jsp頁面,用戶可以選擇一個尺寸然後將其添加到他們的購物車,現在我所有的數據庫工作已經完成並正在工作 - 我試圖找到一個方式來獲得用戶選擇的尺寸,然後將其返回到我的控制器,該控制器將獲取正確類型的產品(以用戶選擇的尺寸)。

這裏是我的代碼從我的jsp

<ul class="options list-unstyled"> 
    <h4 class="m_9">Select a Size</h4> 
    <li><a href="#">S</a></li> 
    <li><a href="#">M</a></li> 
    <li><a href="#">L</a></li> 
    <li><a href="#">XL</a></li> 
</ul> 

,這裏是提交按鈕會添加到購物車。

<form:form /> 
    <input type="submit" value="add to cart" title=""> 
</form:form> 

我想我應該圍繞在表單標籤UL標籤和環繞每個L1的形式:輸入或可能的形式:隱藏的標籤,這可能嗎?

我想避免使用jquery/javascript,並且主要使用spring java/jsp - 僅僅因爲時間緊迫,學習曲線對於實現我所需要的操作可能太高,因此頁面刷新不是問題。

謝謝

回答

0

如果你不想使用JavaScript和你不介意清爽,那麼你可以有你的尺寸爲URL參數,並有控制器刷新當前頁面有相應的產品。

<ul class="options list-unstyled"> 
    <h4 class="m_9">Select a Size</h4> 
    <li><a href="?size=s">S</a></li> 
    <li><a href="?size=m">M</a></li> 
    <li><a href="?size=l">L</a></li> 
    <li><a href="?size=xl">XL</a></li> 
</ul> 

在你的控制器:

@RequestMapping(value = "/product", params = "size", method = RequestMethod.GET) 
public String getProduct(@RequestParam String size, Model model){ 
    if ("s".equals(size)) { 
     // add small product to model 
    } else if ("m".equals(size)) { 
     // add medium product to model 
    } 
    .... 
    return "..."; 
} 

更好的辦法是在形式select標籤內的大小。表格提交時,控制器將獲得大小,並相應插入適當的產品。

+0

感謝您的迴應,這將工作!我曾想過選擇標籤,但我寧願它不是一個下拉菜單 - 它目前的設置[SML XL]用戶點擊其中一個,然後點擊添加到購物車按鈕 - 在我的情況下,我應該圍繞在表單中的列表標籤?我失去了jsp對我的「/ product」RequestMapping的引用。謝謝 – 2014-11-24 01:36:24