Java TemplateProcessingException之Cannot execute subtraction: operands are null and #1234
异常产生场景复述:发送邮件之模板与数据值之间的绑定;
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相关推荐
- 解决 java.lang.IllegalArgumentException: Repository interface must not be null on initialization!
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 报错:Caused by: java.lang.IllegalArgumentException: ...
- android 请求服务器抛io异常,Android开发中与服务器交互时,遇到java.io.IOException: Target host must not be null的问题...
当我遇到这个问题的时候,也在网上查找好半天.找到了一个和这个问题很类似的问题--java.lang.IllegalStateException: Target host must not be nul ...
- Java中的executeQuery_java execute,executeQuery和executeUpdate之间的区别
java execute,executeQuery和executeUpdate之间的区别 关注:269 答案:4 信息版本:手机版 电脑版 解决时间 2021-01-25 18:31 提问者怪咖 ...
- java executeupdate_Java自学-JDBC execute与executeUpdate的区别
JDBC中 execute与executeUpdate的区别 execute与executeUpdate的区别 步骤 1 : 相同点 execute与executeUpdate的相同点:都可以执行增加 ...
- 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 : ...
- 有没搞错?Java 对象不使用时要赋值为 null?
点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 许多Java开发者都曾听说过"不使用的对象应手动赋 ...
- java中String值为空字符串与null的判断方法
Java空字符串与null的区别 1.类型 null表示的是一个对象的值,而不是一个字符串.例如声明一个对象的引用,String a=null. ""表 ...
- aotuwried是java的注解吗_@autowire注入为null
将业务简化成了如下代码,发现在@Autowired时一直为null,有点搞不明白了 Spring-config.xml xmlns:xsi="http://www.w3.org/2001/X ...
- java 构造器 null_java - 主结尾处的Java构造函数用户输入在构造函数中为Null - 堆栈内存溢出...
每次编写new Circle1()都会创建一个全新的对象,该对象与其他对象无关. 而当你这样做 Cercle1 pi = new Cercle1(); Cercle1 radius= new Cerc ...
- java工作笔记019---java8新特性判断非null
技术交流QQ群[JAVA,C,.NET,BigData,AI]:170933152 对于null的处理,可以下面这样做: Optional.ofNullable(str).orElse(new Str ...
最新文章
- 从“小”培养AI安全意识:OpenAI开源具有安全约束的RL训练工具
- Nuxt(一) Nuxt初步认识
- python getopt模块_python之getopt模块使用
- 索贝非编改bug定位
- 【Java程序设计】类与对象的基本概念(下)
- Python pickle 反序列化详解
- 六款Win7系统可用的免费内存释放工具,让电脑跑的更high
- HttpWatch工具简介及使用技巧(转)
- Python中in和has_key的性能比较
- 宝讯网捷:拼多多商家如何做好运营?
- inputstream流乱码_InputStream读取文件乱码
- 由点及面,一叶知秋----集合大家族
- 二三类户开户风险和交易风险再讲
- 全网最全的网络安全技术栈内容梳理(持续更新中)
- PIL gif 图片加文字 python
- 关于成本核算方法、步骤、成本分析
- 天地不仁,以万物为刍狗No.42
- 一分钟学会看k线图_一分钟怎样学会看k线图(纯干货)散户必备!
- SAAS 客服云平台市场调研报告
- 二战考研哈工大之路记录