最近开发遇到了这样一个问题,需要将后端controller里model中的数据在前端展示,但是需要在展示之前做一个判断,如果model中没有数据,前端将不做显示,如果有数据就在前端弹出即可。这就是我的需求。
-
后端controller代码
// 添加到购物车
@RequestMapping(value = “/addcart”,method = RequestMethod.GET)
public String addcart(HttpServletRequest request, Integer id,Model model){HttpSession session = request.getSession(); User userbean = (User) session.getAttribute("user"); int c_id = userbean.getId(); // 根据c_id和s_id去查询该用户添加的商品,如果在该用户下面已经添加了这个商品,就不再进行添加 if(buyDao.queryBuyBySIdAndCId(c_id,id)!=null){ model.addAttribute("addMessage","该商品已经在购物车了"); return "redirect:/shopping"; }else{ Buy buybean = new Buy(); buybean.setState(0); buybean.setC_id(c_id); buybean.setS_id(id); buyDao.addBuy(buybean); model.addAttribute("addMessage","添加成功"); return "redirect:/shopping"; }
}
-
再看看前端我的错误代码
<script>
$(function(){
if(!"${addMessage}"){
alert("${addMessage}");
}
})</script>
然后前端死活不会弹出消息,本以为这样写,逻辑上一点问题都没有,然而并不是,我开始怀疑自己,为什么出不来,我找遍了所有的资料,终于,找到了原因,都是JS引起的问题。
请看以下截图,这是我在Google浏览器测试结果
一个叹号和两个叹号的区别
所以,多写一个叹号就可以了
<script>
$(function(){
if(!!"${addMessage}"){
alert("${addMessage}");
}
})</script>
希望帮到你们,如果帮到你了,可以关注我博客。