一、关于页面跳转的疑问

  • 后台「return "/pool/index"」返回的是字符串,会自动寻找名为“index”的页面模板文件是怎样实现的?

答:这是SpringMVC实现的,如果在Action层方法名顶部,不能添加注释“@ResponseBody”否则后台会以数据形式返回到前台
如果action层中的方法,需要返回页面,却添加了“@ResponseBody”注解,就会出现下面问题:

  • 如果想要返回以“.shtml”后缀的模板文件,需要怎样设置?

答:修改application.yml配置文件如下: #################模板参数配置#################thymeleaf:mode: HTML5 prefix: classpath:/templates/ suffix: .shtml servlet: content-type: text/html mvc: static-path-pattern: /** resources: static-locations: classpath:/webapp/, classpath:/META-(换行)INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/

  • 注意,不建议在action层,RequestMapping中配置以“.html”结束的请求名。

原因:会与页面文件重复,分不清是文件名还是请求。也不利于后续代码维护。

  • 关于action层返回值是「页面模板文件名」或「redirect:/请求名」

以下面代码为例:

@RequestMapping("/receive-success.shtml")
public String reciveSuccess(HttpServletRequest request,Model model) {
String mobile = (String) request.getSession().getAttribute("mobile");
if(mobile == null) {
return "redirect:/index.shtml"; ----------1
}
return "receiveSuccess"; --------------------2
}

1:后台重定向符号,发起了新的后台请求;此处未处理完成,需要再发送请求,请求内容是「/index.shtml」

2:在工程中寻找指定文件名的页面模板文件;此处已处理完成,只需把已处理好的数据(或者没有数据),发给页面模板文件展示即可(ps:也可以理解为html后缀的页面文件)。

二、后台错误处理的疑问

在外部审计平台中已实现效果:后台若抛出异常信息{"code","msg"},在某个ErrorAction中统一处理,展现给用户的是一个自定义错误页面,页面风格统一,同时能显示异常信息msg的内容和返回之前正常页面的按钮。

三、关于优化equity项目代码:

用stringMap把所有bean的属性逐一存进去,影响代码可读性,并且写起来也麻烦

方案1:最简单的,在bean中添加一些属性,后台方法查询出来的另一些属性,设置进去。或者根据联合查询,获取需要的属性值。

方案2:担心污染bean的有序性?查询出来的所有属性,按照bean分类存储,thymleaf中用「beanA.属性;beanB.属性;属性」的方式取出来。

方案3:最规范的,使用po「存储object」和vo「展示object」,不同对象的用途不同,缺点是麻烦,如果仅有几个属性不建议这样做。

担心上线后,由于少数后台参数错误导致整个页面错误?

thymleaf中使用下面写法:「bean?.属性」或「属性.」

特殊字符:三角符号

代码建议:

无需实例化 dateUtils

若需要实例化,请加上@Autoweird或@Resource@service注解

四、页面代码优化:

thymleaf模板注意事项

注意:

下面这段代码中{{if type}} {{else} {{/if}}不能滥用,因为若type的类型为int,后台传来的值为「0」则解析时,认为没有获取值,因此表格中会显示为「null」。

{{if type}}<td>${type}</td>{{else}}<td>undefined</td>{{/if}} 

亲测截图:选中行的所有值都为0,其中「权益类型、申请环境、有效期限」字段的类型为int,如果使用下面的代码,效果如下:

            {{if name}}<td>${name}</td>{{else}}<td>null</td>{{/if}} {{if type}}<td>${type}</td>{{else}}<td>null</td>{{/if}} {{if productId}}<td>${productId}</td>{{else}}<td>null</td>{{/if}} {{if channelId}}<td>${channelId}</td>{{else}}<td>null</td>{{/if}} {{if currentCostCount}}<td>${currentCostCount}</td>{{else}}<td>null</td>{{/if}} {{if environmentType}}<td>${environmentType}</td>{{else}}<td>null</td>{{/if}} {{if validPeriod}}<td>${validPeriod}</td>{{else}}<td>null</td>{{/if}} {{if approveStatus}}<td>${approveStatus}</td>{{else}}<td>null</td>{{/if}} 

aspx跳转页面的符号_解决SpringBoot+MyBatis框架下页面跳转问题与代码优化处理。...相关推荐

  1. Java多线程读取excel文件_解决springboot 多线程使用MultipartFile读取excel文件内容报错问题...

    springboot项目开启多线程 启动类加注解开启 @EnableAsync,实现类方法加注解 @Async 前端页面 报错信息 java.io.FileNotFoundException: C:\ ...

  2. lisp xy轴不等比缩放_解决高缩放等级下的抖动问题

    最近看到 deck.gl 在 medium 上的一篇文章,介绍了解决高缩放等级下「抖动」问题的思路. How (sometimes) assuming the Earth is "flat& ...

  3. el select 清空_解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题

    这是一个项目中常见的需求,el-select 为下拉多选,默认值不可删除,或者指定值不可删除. 实现效果: el-select 如下源码中 tag closable 属性为 el-select 的 d ...

  4. powerdesigner 概念模型_“使用满足”分析框架下社交媒体用户持续使用行为的概念模型研究...

    推文信息 张敏,孟蝶,张艳."使用-满足"分析框架下社交媒体用户持续使用行为的概念模型研究[J].信息资源管理学报,2020,10(01):92-101. "使用-满足& ...

  5. 数据库连接_由浅入深搭建Mybatis框架

    文章目录 1.使用IDEA创建maven工程 1.1.目录结构 1.2.引入mysql依赖包 2.创建数据库及数据 2.1.执行以下sql 3.JDBC方式连接数据库 3.1 新建JDBCTest.j ...

  6. springboot实现条形码_基于SpringBoot+Mybatis+Thymeleaf商品信息管理系统

    github地址:github.com/zaiyunduan1-,如果对你有帮助,欢迎Star 主要用到的技术: 使用maven进行项目构建 使用Springboot+Mybatis搭建整个系统 使用 ...

  7. 小程序跳转样式布局错乱_解决导致CSS布局页面错乱的方法

    在做网站建设中,经常会遇到css布局页面错乱,下面是如解决错乱的方法. 1. float元素务必指定width属性 很多浏览器在显示未指定width的float元素时会有bug.所以不管float元素 ...

  8. react页面数据过多怎么办_解决 React-Native 加载数据页面卡顿问题

    一般情况下,我们在componentDidMount方法里面执行请求数据.根据字面意思:页面组件加载完毕,然后请求数据. 对的 ,没毛病!!! 然而问题就出现,当我们跳转到新页面时,到界面请求完数据, ...

  9. java过滤器重定向_解决ajax请求过滤器重定向不跳转 (过滤器)

    最近写的一个servlet过滤器,用于拦截请求,判断用户是否登录. 写好后发现一个问题,当我直接在浏览器地址栏里输入地址,可以跳转页面:当点击按钮时,过滤器代码正常执行,但是页面没有跳转:是因为按钮都 ...

最新文章

  1. JVM内存调优原则及几种JVM内存调优方法
  2. 艾伟:尽可能摆脱对HttpContext的依赖
  3. hive的用户和用户权限
  4. jquery的checked以及disabled
  5. java学习笔记8--接口总结
  6. java层 android_Android开发实践:Java层与Jni层的数组传递
  7. maven pom java版本_Maven更新POM中的JDK版本(比如更新为JDK1.8)
  8. 【JQuery】on/off 绑定事件和解绑事件
  9. Java通过IText导出word和pdf
  10. 献给iphone开发的同仁们,同时也给自己做个笔记
  11. 理论 | 当 Spring Boot 遇上了消息队列......
  12. Python 函数详解
  13. linux 外壳的概念,Linux 与 Linux 发行版的一些概念
  14. CentOS 7下载安装MySQL 5.7以及连接虚拟机CentOS 7数据库教程
  15. 麦子学院深度学习进阶课程题目纲要
  16. 大厂Android高级多套面试专题整理集合,大厂直通车!
  17. NBSI2内部功能实现大揭谜
  18. 【手把手教你】使用QuantLib进行债券估值和期权定价分析
  19. blender 建模记录
  20. TypeError: __init__() got an unexpected keyword argument ‘rate‘

热门文章

  1. 传感器标定两篇顶会论文解析
  2. 机器人导航两篇顶级会议论文解析
  3. 【嵌入式】从STM32F103ZET6移植到STM32F103RCT6的流程
  4. [JavaScript] Set类型在JavaScript中的使用
  5. php连接mysql页面空白_求大神: php注册页面跳转出现空白页
  6. Android TextView 去除顶部和底部留白(上下的间距有空白问题处理)
  7. 阮一峰老师的ES6入门:async 函数
  8. C# window服务操作
  9. ASP.NET MVC 4 (十三) 基于表单的身份验证
  10. 利用java多线程向MongoDB中批量插入静态文件