controller
@RequestMapping("/searchGoods")
public String searchGoods(HttpServletRequest request,@RequestParam String keyword,@RequestParam(required=false) String sort,
Map<String,Page<Goods>> m) throws UnsupportedEncodingException{
Page<Goods> searchGoods=goodsService.searchGoods(keyword,sort);
m.put("goodsList", searchGoods);
return "/goods/goodsList";
}
impl
@Override
public Page<Goods> searchGoods(String keyword, String sort) {
// TODO Auto-generated method stub
Page<Goods> page = new Page<Goods>(15);
Map<String,Object> m=new HashMap<String,Object>();
m.put("keyword", keyword);
m.put("sort", sort);
page.setParams(m);
List<Goods> goodsList=mapper.findGoodsByKeyword(page);
page.setList(goodsList);
return page;
}
mapper
List<Goods> findGoodsByKeyword(Page<Goods> page);
xml
<select id="findGoodsByKeyword" resultType="Goods">
select goods_id goodsId,cate_id cateId,goods_name goodsName,goods_price goodsPrice,
goods_discount goodsDiscount,goods_stock goodsStock,goods_date goodsDate,goods_sales goodsSales,goods_pic goodsPic
from t_goods
<where>
goods_name like CONCAT(CONCAT('%', #{params.keyword}), '%')
</where>
<if test="params.sort!=null">
<choose>
<when test="params.sort ==1">
order by goods_discount
</when>
<when test="params.sort ==2">
order by goods_discount desc
</when>
<when test="params.sort ==3">
order by goods_sales desc
</when>
<when test="params.sort ==4">
order by goods_sales
</when>
<otherwise>
order by goods_discount
</otherwise>
</choose>
</if>
<if test="params.sort==null">
order by goods_discount
</if>
</select>