JavaWEB十七:bookShop项目 - 错误总结

bookShop项目 - 错误总结

  1. 在form表单中,action必须写成th:action
    action必须写成th:action,这样才会转到/user.do对应的controller上
    	<form th:action = "@{/user.do}">
    如果没有thymeleaf的渲染,默认跳到的是“http://localhost:8080/bookshop/user.do”这个静态页面,但是这个静态页面是完全不存在的
    
  2. form表单中的name=" xxx " 中的名称

    一定要和数据库中的字段名、pojo类中的属性名、controller对应方法中的参数名,sql语句中的参数名全部保持一致。

  3. controller中的返回值

    return “ redirect : user.do ” 跳转到对应的controller中

    return " user/login " 组装user文件路径下的login.html文件

  4. th : if 和 th : unless 所在的两个平行标签之间不能存在其它标签
  5. head 头文件中加载< script lang=“JavaScript”> 时,一定要加上结束标签 < /script>,否则整个html文件都加载不出来

  6. 最最容易发生的错误,空指针异常 (必须掌握)
    String sql = "select * from t_cart_item where id = ?";
    List<CartItem> cartItemList = super.commRetrieve(conn,sql,user.get(id));
    

    查询后返回的cartItemList = null。

    原因:CartItem类中,有自定义属性Book book和User userBean,所以在Book和User类中必须分别创建一个带有id参数的构造器,这样在使用通用方法时,返回到BaseDAO中通过反射给CartItem每个属性赋值时,才可以赋值成功。

  7. 在购物车页面cart.html上,涉及到“book”引用出来的数据就为空 (必须掌握)

    原因是,在service层通过cartItemDAO的查询功能,直接从数据表t-cart_item中获取的book字段只有id一种值,但是t_cart_item对应的CartItem类中的属性book的类型时Book,而Book中有多个属性,故需要在service中给book属性重新全方位赋值。

  8. pojo类中的属性属性 ≥ 对应数据表中的字段数量
  9. sql语句

    sql语句中的赋值要注意字段类型是int,但pojo类中的属性是自建类,的字段类,赋值一定要有getId( )

  10. 数字转变为字符串,只需要加上一个空格即可
  11. thymeleaf与Axios的一点区别

    thymeleaf:会自动解析pojo类中的get方法

    Axios:进行的是前后端分离,value表达式只接收从服务端响应回来的数据,不会解析pojo类中的get方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

e_nanxu

感恩每一份鼓励-相逢何必曾相识

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值