- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 int:header 中格式化时间戳,并遇到与 SpEL 相关的奇怪行为(事实上,我已经发现 header-enricher 只能用于静态值,所以我的方法是错误的首先,但我仍然对我遇到的异常感到好奇)。
<int:header-enricher>
<int:header name="originalFilename" expression="#{T(org.apache.commons.lang3.time.DateFormatUtils).format(new java.util.Date(), 'yyyyMMddhhmm')}"/>
</int:header-enricher>
堆栈跟踪:
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.integration.transformer.support.ExpressionEvaluatingHeaderValueMessageProcessor]: Constructor threw exception; nested exception is org.springframework.expression.spel.SpelParseException: EL1035E:(pos 26): The value '201504101118' cannot be parsed as an int
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:164) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:125) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:270) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
... 71 common frames omitted
Caused by: org.springframework.expression.spel.SpelParseException: EL1035E:(pos 26): The value '201504101118' cannot be parsed as an int
at org.springframework.expression.spel.ast.Literal.getIntLiteral(Literal.java:79) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.maybeEatLiteral(InternalSpelExpressionParser.java:736) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatStartNode(InternalSpelExpressionParser.java:459) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatPrimaryExpression(InternalSpelExpressionParser.java:301) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatUnaryExpression(InternalSpelExpressionParser.java:295) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatPowerIncDecExpression(InternalSpelExpressionParser.java:251) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatProductExpression(InternalSpelExpressionParser.java:230) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatSumExpression(InternalSpelExpressionParser.java:216) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatRelationalExpression(InternalSpelExpressionParser.java:168) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatLogicalAndExpression(InternalSpelExpressionParser.java:156) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatLogicalOrExpression(InternalSpelExpressionParser.java:144) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatExpression(InternalSpelExpressionParser.java:104) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.doParseExpression(InternalSpelExpressionParser.java:85) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:56) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:32) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:76) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:62) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
at org.springframework.integration.transformer.support.ExpressionEvaluatingHeaderValueMessageProcessor.<init>(ExpressionEvaluatingHeaderValueMessageProcessor.java:62) ~[spring-integration-core-4.0.4.RELEASE.jar:na]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_75]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[na:1.7.0_75]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[na:1.7.0_75]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[na:1.7.0_75]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
... 73 common frames omitted
Caused by: java.lang.NumberFormatException: For input string: "201504101118"
at java.lang.NumberFormatException.forInputString(Unknown Source) ~[na:1.7.0_75]
at java.lang.Integer.parseInt(Unknown Source) ~[na:1.7.0_75]
at org.springframework.expression.spel.ast.Literal.getIntLiteral(Literal.java:75) ~[spring-expression-4.0.7.RELEASE.jar:4.0.7.RELEASE]
说真的,为什么是 java.lang.Integer.parseInt?
当我尝试时会发生同样的事情:
#{T(org.apache.commons.lang3.time.DateFormatUtils).format(1428647461944L, 'yyyyMMddhhmm')}"/>
我还发现了这个开放的 jira 问题:https://jira.spring.io/browse/SPR-11021
是否是异常原因?
最佳答案
@rompetroll 的评论是正确的; "#{...}"
语法适用于在上下文初始化时计算一次的静态值。
Spring 集成使用运行时表达式,每次消息到达组件时都会对其进行评估。只需删除 #{
和 }
。
您正在尝试将静态值注入(inject)需要表达式的属性中。
关于java - org.springframework.expression.spel.SpelParseException : The value cannot be parsed as an int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29556740/
刚开始处理Maven和Spring。当我尝试创建DAO和ResultSet然后运行应用程序时,抛出errors: Error:(4, 31) java: package org.springframe
问题: Error:(15, 10) java: cannot find symbol symbol: class SpringRunner Error:(16, 2) java: cannot
我正在尝试构建这个 RESTful 服务示例:https://spring.io/guides/gs/rest-service/GreetingController.java 的导入没有错误: pac
如果我尝试向构造函数注入(inject) Facebook 参数,我将尝试使用 facebook api 使用 spring + thymeleaf + hibernate 创建 Facebook 应
如何解决Spring中Bean的自动连接歧义?我们有一个 Dessert 接口(interface),并且有实现该接口(interface)(Dessert)的三种不同的甜点(Bean)。 今天的甜点
请问为什么我的 pom.xml 文件中会出现此错误 Missing artifact org.springframework:spring-context:jar:${org.springframew
让 gradle 构建正常工作( from a previous question related to this one ),安迪·威尔金森(Andy Wilkinson)为我回答,没有问题。正在为
我正在 tomcat 7 中开发网站(spring 3.1.1),但出现错误 ERROR: org.springframework.web.context.ContextLoader - Contex
我在将航类信息保存到 mysql 数据库时遇到错误。请帮助我下面是我的代码: 我已经尝试了所有方法,添加模式和这么多 它不会从字符串转换为日期 控制台日志 2020-05-12 13:19:21.04
我使用intellij创建了一个小型java应用程序,后来我使用“添加框架支持”选项将该项目更新为Maven项目。当我厌倦了在项目上添加 spring jar 文件时,出现以下错误:“没有为 org.
我尝试使用 org.springframework.data.mongodb.core.MongoOperations 从 mongo 集合中查询记录。我在 CompanyTemplRepoImpl
我尝试将 Spring4 与 Hibernate5 一起使用,但出现此错误: org.springframework.orm.jpa.EntityManagerHolder cannot be cas
我是这个论坛的新手。我正在尝试使用 spring 3.2.6 和 tomcat 7.0 制作一个应用程序。我已将所有必需的 jar 添加到 WEB-INF/lib 文件夹中。 DispatcherSe
我在 maven 架构中使用 Spring 框架 4.0.1.RELEASE、OAuth Security 2.0.7.RELEASE,当我编译代码时,出现以下错误。 SEVERE: Exceptio
我正在使用以下指令开发 CRUD Web 应用程序: https://www.javaguides.net/2019/02/spring-boot-2-angular-7-crud-example-t
这个问题已经有答案了: what is the difference in org.springframework.web.servlet.ModelAndView vs org.springfram
我正在尝试将 hibernate 与 spring boot 一起使用。但我收到此错误:org.springframework.orm.jpa.EntityManagerHolder 无法转换为 or
我尝试创建简单的用户登录和注册页面。但我无法使用服务方法创建用户。我有创建新用户的服务。 @Service public class LocalUserDetailsService implement
我用 STS、Roo 和 GWT 创建了一个新项目,并尝试包含 Spring Security。 从那时起,我收到以下错误。有没有人知道出了什么问题?! org.springframework.bea
这些是我正在使用的版本和依赖项 我怀疑版本需要更改但更改为什么,我不确定 springCore : '5.3.3', springjdbc
我是一名优秀的程序员,十分优秀!