Thymeleaf将字符串转换为数字

博客 分享
0 134
张三
张三 2022-03-07 18:56:15
悬赏:0 积分 收藏

Thymeleaf将字符串转换为数字

Thymeleaf将字符串转换为数字

Thymeleaf将字符串转换为数字

Thymeleaf将字符串转换为数字!
近期努力敲代码的时候遇到一个问题,某个字段在后端使用的是String存储,但是前端thymeleaf模板需要使用这个字段做数字加减,因为是字符串所以变成了字符串的相加(比如:'1'+'1'='11'),如果此时更改后端较为麻烦,还需要更改数据库,只能想办法转换一下。

网上查找没有相关资料且质量堪忧,所以自己写一篇文章希望可以帮助到有需要的人,特此记录。
问题截图:

 

代码截图:

 

起初以为Thymeleaf有提供Integer的内置供我们进行类型转换,但是找了一圈文档发现都没有此内置对象也没有相应的方法,最后苦苦琢磨总结了以下

三种解决方法:

第一种:

简单粗暴直接在后端实体类转换(偶尔使用没问题,多次建议使用第三种):

private String startRow;public String getStartRow(){return startRow;}public Integer getStartRow(){  return startRow!=null&&startRow.length>0?Integer.valueof(startRow):0;}

前端使用 startRowNum 获取值

 

再查看结果发现显示已经正常了

 

第二种:

使用thymeleaf的内置对象#numbers.sequence()方法

该方法会生成一个数字数组返回,因为限制了起始数字和结束数字,所以只会返回长度为1的数组,再使用第一个元素相加即可(不太推荐,太麻烦且性能不好)

 

 第三种:

直接在后端定义一个工具类,并托管到Spring容器中,前端使用${@MyUtils.toInteger()}调用方法即可(推荐使用此种方法,多次使用时还方便维护)
工具类:

package com.tension.common.utils;import org.springframework.stereotype.Component;import org.springframework.util.StringUtils;@Componentpublic class MyIntegerUtils {  public static Integer toInteger(String str){    if(StringUtils.hasLength(str)){      return Integer.valueOf(str);    }    return 0;  }}

前端调用:

 

 查看结果:

 

在学编程的小菜鸡~
posted @ 2022-03-07 17:59 青栀i 阅读(17) 评论(1) 编辑 收藏 举报
回帖
    张三

    张三 (王者 段位)

    821 积分 (2)粉丝 (41)源码

     

    温馨提示

    亦奇源码

    最新会员