2014-11-24 46 views
0

我有一个显示我所有产品的jsp页面,在页面的左侧有各种选项来缩小选择范围,类似于许多网上商店。例如,用户希望将结果限制为与百思买如何执行相同的价格范围,我使用复选框来表示用户想要显示的条件(它将在第一个视图上默认显示所有产品)。基于休眠标准刷新jsp页面的简单方法更新

在我的jsp我有这样的事情

<label class="checkbox"><input type="checkbox" name="checkbox"><i></i>$0 - $20</label> 
<label class="checkbox"><input type="checkbox" name="checkbox"><i></i>$20 - $30</label> 
<label class="checkbox"><input type="checkbox" name="checkbox"><i></i>$30 - $40</label> 
<label class="checkbox"><input type="checkbox" name="checkbox"><i></i>$50+</label> 

这里就是我有我的Java控制器

@RequestMapping(value = "/btwn", method = RequestMethod.GET) 
public ModelAndView betweenCriteria(@RequestParam("min") double min, @RequestParam("max") double max){ 
    List<Product> productsBtwn = productService.findProductsBetween(min, max); 
    return null; 
} 

当用户选中我想在页面复选框中的任何一个刷新时只显示选定的条件,那么如何将值(即最小值和最大值)返回给我的java控制器,以便我可以运行查询以仅返回具有选定价格范围的集合给用户。

我能得到的最接近的是在我的java控制器上使用@RequestParam注释,但是这些值在我的jsp中的位置以及端点(/ btwn)应该如何被调用?

另外我想避免使用javascript/jquery,因为我没有太多时间,并且这些技术的学习曲线在这一点上似乎过于陡峭,我确定页面正在刷新,将会慢慢迁移到ajax中未来。

谢谢

回答

0

这是您的控制器只使用@PathVariablesee docs

@RequestMapping(value="/btwn/{min}/{max}", method = RequestMethod.GET) 
public String btwn(@PathVariable() int min,@PathVariable() int max){ 

    // IF max == 0 ? true:false; 
    max = max == 0 ? 100:max; 

    List<Product> productsBtwn = productService.findProductsBetween(min, max); 

    return "jspFile"; 
} 

和因为你的方法类型的JSP是得到我更喜欢使用<a href=""></a>

<label class="checkbox"><a href="/btwn/0/20">$0 - $20</a></label> 
    <label class="checkbox"><a href="/btwn/21/30">$21 - $30</a></label> 
    <label class="checkbox"><a href="/btwn/31/40">$31 - $40</a></label> 
    <label class="checkbox"><a href="/btwn/41/50">$41 - $50</a></label> 
    <label class="checkbox"><a href="/btwn/51/0">$51+</a></label> 
+0

谢谢你这正是我正在寻找的 – 2014-12-05 22:37:53

+0

即时通讯很高兴我能够帮助 – Secondo 2014-12-08 00:07:02