将单个html列表元素返回给我的spring控制器

时间:2014-11-23 05:17:28

标签: java spring jsp

我有一个独特的问题 - 我无法找到答案或示例。

我有一个显示单个产品的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>

我在想我应该在表单标签和环绕每个li的形式标签中包含ul标签:输入或者形式:隐藏标签,这可能吗?

我想避免使用jquery / javascript并主要使用spring java / jsp - 只是因为我时间紧张,完成我需要的学习曲线可能太高,所以页面刷新不是问题。

谢谢

1 个答案:

答案 0 :(得分: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标记内放置大小。在提交表单时,控制器将获得大小,并相应地插入相应的产品。