我有一个独特的问题 - 我无法找到答案或示例。
我有一个显示单个产品的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 - 只是因为我时间紧张,完成我需要的学习曲线可能太高,所以页面刷新不是问题。
谢谢
答案 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
标记内放置大小。在提交表单时,控制器将获得大小,并相应地插入相应的产品。