关于使用SSM+JSP开发时setter、getter隐式调用问题的小结

这篇具有很好参考价值的文章主要介绍了关于使用SSM+JSP开发时setter、getter隐式调用问题的小结。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://www.cnblogs.com/cnb-yuchen/p/17977495
出自【进步*于辰的博客】

之前使用SSM+JSP做网站开发,由于没有注意setter、getter的隐式调用问题,出现了多次bug,对开发进度影响挺大。因此,特来作这篇文章跟大家分享,帮在使用SSM开发的博友们避避坑。
参考笔记三,P31.1。

目录
  • 1、setter
  • 2、getter

1、setter

隐式调用时机:

1、查询数据,调用无参构造方法创建实例后

2、getter

隐式调用时机:

1、EL表达式
2、使用@ResponseBody时
3、<if>、<when>等标签
4、ajax得到的响应体是实体,获取属性时
5、sql语句内的 #{xx}、${xx}

对第5点说明:

  1. #{xx}/${xx}都隐式调用了getter,而不是根据属性名调用。
  2. xx对应的类型是 Date,即获取的是时间时,一般为了EL表达式显示,会重写getter,并将返回值类型改为 String;(当然这已经不是重写)
  3. 如果这样“重写”了getter,必须判断是否为null。原因不是为了EL表达式显示,因为当为null时,EL表达式不会报错;而是因为返回的时间字符串必然是通过 SimpleDateFormat 等类由时间转换而来,转换时,若时间为null,抛出异常。

大家看完上述说明,一定有一个疑惑:“你重写了 Date 类型属性的getter,例如插入时,#{xx}获取时间,得到的不就是 String,而数据库字段类型是时间类型,怎么能插入成功?”
这是因为Mybatis和MySQL / Oracle都有将DateString自动转换的功能。

示例说明:
实体。

User(userId, userName, cancelStatus)

属性cancelStatus:注销状态,0-正常,1-注销中。

一般使用这两种方法将数字转换成文字:

  1. getter内转换;
  2. 渲染时转换,如:ajax

一般选择第2种方法,因为如cancelStatus这类已约定取值的属性,往往会用于判断,如:EL表达式中判断取值来显示不同内容。
由于第1种方法会修改getter,则可能报错;当然,可定义其他名称的getXx()返回文字信息,但那样成本高。
因此,大多数情况下都是在渲染时将数字转换成文字。这也是很多项目前端采用的方法。

本文完结。文章来源地址https://www.toymoban.com/news/detail-811059.html

到了这里,关于关于使用SSM+JSP开发时setter、getter隐式调用问题的小结的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaSE学习之路:Idea小技巧一键生成标准JavaBean(一键生成构造方法和Setter和Getter方法)

    1.生成有参和无参构造函数 2.生成Getter和Setter方法 3.生成toString方法 1.安装插件 2.右键-使用插件

    2024年02月12日
    浏览(35)
  • vuex前端开发,getters是什么?怎么调用?简单的案例操作

    vuex前端开发,getters是什么?怎么调用?简单的案例操作! 下面通过一些简单的案例,来了解一下,vuex当中的getters到底是什么意思,有哪些实际的操作案例。 Vuex的getters主要用于对 store中的state进行计算或过滤 ,类似于Vue组件中的 计算属性 。它可以对state进行一些处理,然后

    2024年01月19日
    浏览(44)
  • JSP SSM 成果展示系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

    一、源码特点      JSP SSM 冬奥建设成果展示系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的 源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为

    2024年02月09日
    浏览(60)
  • JSP SSM 学生综合测评管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

    一、源码特点      JSP SSM 学生综合测评管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为M

    2024年02月07日
    浏览(60)
  • 新闻管理系统(ssm+jsp+mysql)

    目录 摘要 一、系统开发环境 二、数据库设计 三、实现的功能 四、详细设计 五、效果展示 游客可以浏览新闻,也可以通过新闻类别或新闻标题对新闻进行查找; 管理员可以增加新闻、修改新闻、根据新闻类别查找新闻、删除新闻,也可以增加类别、修改类别、删除类别;

    2024年02月04日
    浏览(44)
  • 基于jsp,ssm物流快递管理系统

    开发工具:eclipse,jdk1.8 服务器:tomcat7.0 数据库:mysql5.7 技术: spring+springMVC+mybaits+EasyUI 项目包括用户前台和管理后台两部分,功能介绍如下:  一、用户(前台)功能: 用户进入物流快递管理系统后,可以进行在线下单,下单完成后,可以查询订单状态;接着,用户可以浏览

    2024年02月06日
    浏览(49)
  • 基于ssm+jsp的网上手机商城论文

    随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于网上手机商城当然也不能排除在外,随着网络技术的不断成熟,带动了网上手机商城,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵

    2024年02月04日
    浏览(46)
  • 基于JSP SSM的社区生活超市管理系统

    目录 背景 技术简介 系统简介 界面预览   随着时代步伐的加速,计算机技术已广泛而深刻地渗透到社会的各个层面。随着居民生活水平的持续提升,人们对社区生活超市的期望和管理要求也越来越高。随着社区生活超市数量的稳步增长,开发一个高效、实用的社区生活超市

    2024年04月12日
    浏览(40)
  • ssm042在线云音乐系统的设计与实现+jsp

    随着移动互联网时代的发展,网络的使用越来越普及,用户在获取和存储信息方面也会有激动人心的时刻。音乐也将慢慢融入人们的生活中。影响和改变我们的生活。随着当今各种流行音乐的流行,人们在日常生活中经常会用到的就是在线云音乐系统。 本文首先分析了基于

    2024年04月15日
    浏览(41)
  • ssm031社区管理与服务的设计与实现+jsp

    摘 要 Abstract 第一章 绪论 1.1研究背景 1.2 研究现状 1.3 研究内容 第二章 系统关键技术 2.1 Java简介 2.2 MySql数据库 2.3 B/S结构 2.4 Tomcat服务器 第三章 系统分析 3.1可行性分析 3.1.1技术可行性 3.1.2经济可行性 3.1.3运行可行性 3.1.4法律可行性 3.2 系统性能分析 3.3 系统功能分析 3.4 系统

    2024年04月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包