异常产生场景复述:发送邮件之模板与数据值之间的绑定;

ob.core.logging.LoggingAspect      : URI=/api/process/mail/comrise/send/email,X-AUTH=null,X-USER=null, Exception in api.zhanjob.modules.controller.EmailController.sendMail() with cause = 'NULL' and exception = 'Cannot execute subtraction: operands are "null" and "#1234" (e-comrise-postinfo:42)'org.thymeleaf.exceptions.TemplateProcessingException: Cannot execute subtraction: operands are "null" and "#1234" (e-comrise-postinfo:42)at org.thymeleaf.standard.expression.SubtractionExpression.executeSubtraction(SubtractionExpression.java:92)at org.thymeleaf.standard.expression.ComplexExpression.executeComplex(ComplexExpression.java:58)at org.thymeleaf.standard.expression.Expression.execute(Expression.java:107)at org.thymeleaf.standard.expression.Expression.execute(Expression.java:133)at org.thymeleaf.standard.expression.Expression.execute(Expression.java:120)at org.thymeleaf.standard.processor.attr.AbstractStandardTextChildModifierAttrProcessor.getText(AbstractStandardTextChildModifierAttrProcessor.java:68)at org.thymeleaf.processor.attr.AbstractTextChildModifierAttrProcessor.getModifiedChildren(AbstractTextChildModifierAttrProcessor.java:59)at org.thymeleaf.processor.attr.AbstractChildrenModifierAttrProcessor.processAttribute(AbstractChildrenModifierAttrProcessor.java:59)at org.thymeleaf.processor.attr.AbstractAttrProcessor.doProcess(AbstractAttrProcessor.java:87)at org.thymeleaf.processor.AbstractProcessor.process(AbstractProcessor.java:212)at org.thymeleaf.dom.Node.applyNextProcessor(Node.java:1017)at org.thymeleaf.dom.Node.processNode(Node.java:972)at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)at org.thymeleaf.dom.Node.processNode(Node.java:990)at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)at org.thymeleaf.dom.Node.processNode(Node.java:990)at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)at org.thymeleaf.dom.Node.processNode(Node.java:990)at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)at org.thymeleaf.dom.Node.processNode(Node.java:990)at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)at org.thymeleaf.dom.Node.processNode(Node.java:990)at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)at org.thymeleaf.dom.Node.processNode(Node.java:990)at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)at org.thymeleaf.dom.Node.processNode(Node.java:990)at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)at org.thymeleaf.dom.Node.processNode(Node.java:990)at org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)at org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)at org.thymeleaf.dom.Node.processNode(Node.java:990)at org.thymeleaf.dom.Document.process(Document.java:93)at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1155)at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1060)at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1011)at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:924)at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:898)at api.zhanjob.modules.service.impl.MailServiceImpl.sendEmail(MailServiceImpl.java:508)at api.zhanjob.modules.service.impl.MailServiceImpl.sendEmail(MailServiceImpl.java:482)at api.zhanjob.modules.service.impl.MailServiceImpl.doSendComriseMail(MailServiceImpl.java:257)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)at com.sun.proxy.$Proxy249.doSendComriseMail(Unknown Source)at api.zhanjob.modules.controller.EmailController.sendMail(EmailController.java:32)at api.zhanjob.modules.controller.EmailController$$FastClassBySpringCGLIB$$719e1c6d.invoke(<generated>)at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)at com.zhanjob.zjob.core.logging.LoggingAspect.logAround(LoggingAspect.java:105)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:629)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:618)at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)at api.zhanjob.modules.controller.EmailController$$EnhancerBySpringCGLIB$$d8022af9.sendMail(<generated>)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:110)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:208)at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:108)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:106)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:64)at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)at io.undertow.server.Connectors.executeRootHandler(Connectors.java:332)at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)

1⃣️邮件模版html中代码片段示例:

2⃣️数据值的参数:

3⃣️具体原因:由于在html中绑定参数名为jobTitile,而代码中数据参数名为jobtitle,html找不到对应的值,绑定为null,

4⃣️根据提示:Cannot execute subtraction: operands are "null" and "#1234"-> 翻译无法执行减法:操作数是“null”

5⃣️更改html如下:

Java TemplateProcessingException之Cannot execute subtraction: operands are null and #1234相关推荐

  1. 解决 java.lang.IllegalArgumentException: Repository interface must not be null on initialization!

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 报错:Caused by: java.lang.IllegalArgumentException: ...

  2. android 请求服务器抛io异常,Android开发中与服务器交互时,遇到java.io.IOException: Target host must not be null的问题...

    当我遇到这个问题的时候,也在网上查找好半天.找到了一个和这个问题很类似的问题--java.lang.IllegalStateException: Target host must not be nul ...

  3. Java中的executeQuery_java execute,executeQuery和executeUpdate之间的区别

    java execute,executeQuery和executeUpdate之间的区别 关注:269  答案:4  信息版本:手机版 电脑版 解决时间 2021-01-25 18:31 提问者怪咖 ...

  4. java executeupdate_Java自学-JDBC execute与executeUpdate的区别

    JDBC中 execute与executeUpdate的区别 execute与executeUpdate的区别 步骤 1 : 相同点 execute与executeUpdate的相同点:都可以执行增加 ...

  5. Caused by: java.sql.SQLException: Column ‘某个字段‘ cannot be null

    完整报错提示: 2020-10-10 18:14:00.139 INFO 13760 --- [nio-8082-exec-9] biz.xcj.conf.db.DataSourceAspect : ...

  6. 有没搞错?Java 对象不使用时要赋值为 null?

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 许多Java开发者都曾听说过"不使用的对象应手动赋 ...

  7. java中String值为空字符串与null的判断方法

    Java空字符串与null的区别 1.类型        null表示的是一个对象的值,而不是一个字符串.例如声明一个对象的引用,String a=null.        ""表 ...

  8. aotuwried是java的注解吗_@autowire注入为null

    将业务简化成了如下代码,发现在@Autowired时一直为null,有点搞不明白了 Spring-config.xml xmlns:xsi="http://www.w3.org/2001/X ...

  9. java 构造器 null_java - 主结尾处的Java构造函数用户输入在构造函数中为Null - 堆栈内存溢出...

    每次编写new Circle1()都会创建一个全新的对象,该对象与其他对象无关. 而当你这样做 Cercle1 pi = new Cercle1(); Cercle1 radius= new Cerc ...

  10. java工作笔记019---java8新特性判断非null

    技术交流QQ群[JAVA,C,.NET,BigData,AI]:170933152 对于null的处理,可以下面这样做: Optional.ofNullable(str).orElse(new Str ...

最新文章

  1. 从“小”培养AI安全意识:OpenAI开源具有安全约束的RL训练工具
  2. Nuxt(一) Nuxt初步认识
  3. python getopt模块_python之getopt模块使用
  4. 索贝非编改bug定位
  5. 【Java程序设计】类与对象的基本概念(下)
  6. Python pickle 反序列化详解
  7. 六款Win7系统可用的免费内存释放工具,让电脑跑的更high
  8. HttpWatch工具简介及使用技巧(转)
  9. Python中in和has_key的性能比较
  10. 宝讯网捷:拼多多商家如何做好运营?
  11. inputstream流乱码_InputStream读取文件乱码
  12. 由点及面,一叶知秋----集合大家族
  13. 二三类户开户风险和交易风险再讲
  14. 全网最全的网络安全技术栈内容梳理(持续更新中)
  15. PIL gif 图片加文字 python
  16. 关于成本核算方法、步骤、成本分析
  17. 天地不仁,以万物为刍狗No.42
  18. 一分钟学会看k线图_一分钟怎样学会看k线图(纯干货)散户必备!
  19. SAAS 客服云平台市场调研报告
  20. 二战考研哈工大之路记录

热门文章

  1. 如何购买阿里云服务器呢?
  2. 百度移动搜索优化指南2.0
  3. linux内核 精简 编译,精简LINUX内核配置及快速编译的方法收集
  4. ffmpeg 双轨的mp3转成8k的wav 脚本
  5. 计算机维护岗位主要职责怎么写,计算机维护岗位职责
  6. matlab2014如何获得hostid,hostid.c/获取主机标识
  7. 微信隐藏代码功能大汇总-你不知道的微信命令行.doc
  8. 网站建设以后如何处理死链接页面
  9. SMP_WEIBO_2016 微博用户画像 可视化(未完成)
  10. C# 透明窗体制作方法