首页 > 其他分享 >关于使用SSM+JSP开发时setter、getter隐式调用问题的小结

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

时间:2024-01-21 09:01:20浏览次数:35  
标签:EL 调用 SSM xx getter JSP 隐式 setter

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

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

目录

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()返回文字信息,但那样成本高。
因此,大多数情况下都是在渲染时将数字转换成文字。这也是很多项目前端采用的方法。

本文完结。

标签:EL,调用,SSM,xx,getter,JSP,隐式,setter
From: https://www.cnblogs.com/cnb-yuchen/p/17977495

相关文章

  • Mac使用Idea配置传统SSM项目(非maven项目)
    前提软件IDEA2023.3.2JDK1.8Tomcat8Mysql5.7.1步骤打开Web项目配置JDK版本配置Modules中配置Sources的两个root,分别为WebRoot和src两个文件夹Libraries中配置WebRoot/WEB-INF/lib文件夹Facets中指定web的根目录和web.xml文件位置Artifacts配置tomcattoncat......
  • 基于SSM的电脑公司财务管理系统
    随着信息互联网购物的飞速发展,一般企业都去创建属于自己的管理系统。本文介绍了电脑公司财务管理系统的开发全过程。通过分析企业对于电脑公司财务管理系统的需求,创建了一个计算机管理电脑公司财务管理系统的方案。文章介绍了电脑公司财务管理系统的系统分析部分,包括可行性分析等,系......
  • 基于SSM的二手车交易网站设计与实现
    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此二手车交易信息的管理计算机化,系统化是必要的。设计开发二手车交易网站不仅会......
  • 基于SSM的婚恋网站的设计与实现
    随着信息互联网购物的飞速发展,一般企业都去创建属于自己的管理系统。本文介绍了基于SSM的婚恋网站的设计与实现的开发全过程。通过分析企业对于基于SSM的婚恋网站的设计与实现的需求,创建了一个计算机管理基于SSM的婚恋网站的设计与实现的方案。文章介绍了基于SSM的婚恋网站的设计与......
  • 基于SSM的在线交友系统
    本文介绍了在线交友系统的开发全过程。通过分析企业对于在线交友系统的需求,创建了一个计算机管理在线交友系统的方案。文章介绍了在线交友系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。本在线交友系统管理员功能有个人中心,用户管理,每日推......
  • ssm整合类配置
     spring整合mybatis,jdbc:packagecom.itheima.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bean;importorg.springframework.jdbc.datasource.DataSo......
  • Servlet(JSP)学习笔记
    目录IDEA配置JSP基本语法page指令ScriptLet标签注释包含跳转JSP四大作用域applicationsessionrequestpageJSP九大内置对象responseoutpageContextconfigexceptionJavaBean组件JavaBean组件引入创建JavaBean设置属性值获取属性值JavaBean的保存范围JavaBean的删除ServletHelloWorld......
  • GSSM加解密
    1、sm2packagecryptoimport( "crypto/rand" "github.com/emmansun/gmsm/sm2")funcSm2Decrypt(priKey,cipherText[]byte)(plainText[]byte,errerror){ varpK*sm2.PrivateKey ifpK,err=sm2.NewPrivateKey(priKey);err!=nil{......
  • 基于SSM的师生健康管理系统设计与实现
    选题的动因与根据:(含研究的意义和背景等)研究的背景:21世纪,早已进入互联网信息快速发展的时代,互联网的普及给人们带来了许多便利。像有些高校就有自己的师生健康管理系统,但是对我们楚师院来说,通过调查发现,由于我们的师生在健康这方面不是很重视,所以在师生健康管理系统这一发面的发展......
  • 基于SSM的校园二手交易网站设计与实现
    随着信息互联网购物的飞速发展,一般企业都去创建属于自己的电商平台以及购物管理系统。本文介绍了校园二手交易网站设计与实现的开发全过程。通过分析企业对于校园二手交易网站设计与实现的需求,创建了一个计算机管理校园二手交易网站设计与实现的方案。文章介绍了校园二手交易网站设......