spring 相关问题

Spring Framework是Java平台上应用程序开发的开源框架。其核心是对基于组件的体系结构的丰富支持,目前它拥有20多个高度集成的模块。

导致PropertyReferenceException的原因

我收到以下错误,但无法弄清楚导致问题的原因。 2024-10-19T11:26:28.546 + 05:30 WARN 9455 --- [rentsysapi] [nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver:已解决...

回答 1 投票 0

Freemarker.core.InvalidReferenceException 尝试验证用户输入时出现错误 Apache FreeMarker出租物业

有这样的ftlh文件和注册表: 出租物业 有这样的ftlh文件和注册表: <!DOCTYPE html> <html lang="en"> <head> <title>Rental Property</title> </head> <body> <h2>User Registration</h2> <form action="/registration" method="POST"> <label for="name">Name:</label> <input type="text" id="name" name="name" value="${userForm.name!}" required> <#if errors?? && errors?has_content && errors.hasFieldErrors("name")> <div style="color:red;">${errors.getFieldError('name').defaultMessage}</div> </#if> <label for="lastName">Last Name:</label> <input type="text" id="lastName" name="lastName" value="${userForm.lastName!}" required> <#if errors?? && errors?has_content && errors.hasFieldErrors("lastName")> <div style="color:red;">${errors.getFieldError("lastName").defaultMessage}</div> </#if> <label for="email">Email Address:</label> <input type="email" id="email" name="email" value="${userForm.email!}" required> <#if errors?? && errors?has_content && errors.hasFieldErrors("email")> <div style="color:red;">${errors.getFieldError("email").defaultMessage}</div> </#if> <label for="phone">Phone:</label> <input type="tel" id="phone" name="phone" value="${userForm.phone!}"> <#if errors?? && errors?has_content && errors.hasFieldErrors("phone")> <div style="color:red;">${errors.getFieldError("phone").defaultMessage}</div> </#if> <label for="password">Password:</label> <input type="password" id="password" name="password" required> <#if errors?? && errors?has_content && errors.hasFieldErrors("password")> <div style="color:red;">${errors.getFieldError("password").defaultMessage}</div> </#if> <label for="replayPassword">Repeat Password:</label> <input type="password" id="replayPassword" name="replayPassword" required> <#if errors?? && errors?has_content && errors.hasFieldErrors("replayPassword")> <div style="color:red;">${errors.getFieldError("replayPassword").defaultMessage}</div> </#if> <label for="birthday">Date of Birth:</label> <input type="date" id="birthday" name="birthday"> <#-- <#if errors?has_content && errors.hasFieldErrors("birthday")>--> <#-- <div style="color:red;">${errors.getFieldError("birthday").defaultMessage}</div>--> <#-- </#if>--> <button type="submit">Register</button> </form> </body> </html> 有这样一种post请求处理方法: @PostMapping("/registration") public String registration(@ModelAttribute @Valid UserForm userForm, BindingResult result, Model model) { userValidator.validate(userForm, result); model.addAttribute("errors", result); if (result.hasErrors()) return "registration"; return "redirect:/"; } UserForm.java 类的每个字段上方是来自 jakarta.validation.constraints 的验证注释以及自定义验证器类。 当尝试在此控制器方法内发送有错误的数据时,验证将按其应有的方式工作,查找所有错误,并在尝试向用户显示不正确的数据时发生错误: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing: ==> errors.getFieldError('name') [in template "registration.ftlh" at line 14, column 35] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${errors.getFieldError("name").defaul... [in template "registration.ftlh" at line 14, column 33] ---- at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) ~[freemarker-2.3.33.jar:2.3.33] at freemarker.core.UnexpectedTypeException.newDescriptionBuilder(UnexpectedTypeException.java:85) ~[freemarker-2.3.33.jar:2.3.33]... 我尝试将 ftlh 文件中的错误键更改为单引号,更改验证,发送整个组装的 UserForm 对象。 我怀疑问题是您没有启用公开 Java 8 默认方法。它是必需的,因为 FreeMarker 基于 java.beans.Introspector(官方 JavaBeans 内省器),而它忽略了它们。因此,正如 2.3.26 的版本历史记录所示(https://freemarker.apache.org/docs/versions_2_3_26.html): 添加了解决方法(默认情况下未启用)以将 Java 8 默认方法(以及它们定义的 bean 属性)公开给模板,尽管 java.beans.Introspector(官方 JavaBeans 内省器)会忽略它们,至少从 JRE 1.8.0_66 开始是这样。要启用此解决方法,请将 incompatibleImprovements 或 DefaultObjectWrapper 的 BeansWrapper 构造函数参数的值增加到 2.3.26,或者将其 treatDefaultMethodsAsBeanMembers 设置设置为 true。请注意,如果您将 object_wrapper 的 Configuration 设置保留为默认值,则将 incompatibleImprovements 的 Configuration 设置增加到 2.3.26 就足够了,因为它是由默认 object_wrapper 继承的。 我的建议是增加 incompatibleImprovements 的 Configuration 设置。否则,会模拟一些令人惊讶的问题以实现 100% 向后兼容性。有一个关于如何设置它的页面: https://freemarker.apache.org/docs/pgui_config_inknown_improvements.html#pgui_config_inknown_improvements_how_to_set

回答 1 投票 0

SQL 表名称在 PostMapping 期间自动更改

我最近开始学习 Spring Boot,并在休息控制器中遇到了 PostMapping 的一些问题。执行后映射端点时,SQL 表会自动从“

回答 1 投票 0

获取,java.lang.IllegalStateException:启动子项时出错,在 Tomcat 10 中

我正在尝试在 Tomcat 10 上启动我部署的应用程序,但获取 java.lang。 IllegalStateException:在 Catalina.out 文件中启动子错误时出错。如果我将 Tomcat 版本降级到 9,我...

回答 1 投票 0

Java NoSuchMethodException 与 MessageDigest:java.security.MessageDigest.<init>()

我使用Spring框架并导入了java.security.MessageDigest。我的目标是产生校验和验证。我想输出校验和值,但我却收到此错误...

回答 1 投票 0

如何记录 Spring WebClient 的线程池指标?

有没有办法获取线程池指标以将其记录(导出)到 Spring WebClient 的石墨仪表板。 有一种方法可以通过配置为 Rest Template 做类似的事情

回答 1 投票 0

Spring Integration:发生超时时执行某些操作

我正在等待消息到来,但当消息没有到来时我想做一些计算。 类似以下内容(我想要的): IntegrationFlows.from(messageChannel) .超时(1, S...

回答 1 投票 0

如何将来自不同通道的具有不同负载类型的标头组合成一条消息,以便在 Spring Integration 中进一步处理?

我是 Java 和 Spring/Spring Integration 的新手,并且在消息通道和聚合器方面遇到问题。我正在尝试将两个不同通道的标头聚合到一个消息对象中......

回答 1 投票 0

带有嵌入式tomcat的Spring boot +带有身份验证用户的访问日志

我正在使用带有嵌入式tomcat + spring security的spring boot。 我从tomcat的访问日志看起来像这样 IP - - [14/2/2017:08:49:50 +0200]“GET /page/2 HTTP/1.1”200 2606 那么,我怎样才能让...

回答 2 投票 0

用于连接 MS SQL 服务器的 Spring Quartz 配置

我已配置应用程序属性以在应用程序启动时创建石英模式,但它不会创建表并引发 SQLServer 异常。我使用的是quartz starter版本2.2....

回答 2 投票 0

如何处理spring-kafka中批量监听器的验证和转换失败

我们使用来自 spring-kafka 的批处理侦听器以及自动解析为 Java dtos 的 JSON 负载,因此我们的侦听器方法目前看起来像这样: @KafkaListener(主题 = MY_TO...

回答 1 投票 0

Spring 6 OAuth 2.0 - 无刷新令牌 | PKCE 公共客户端

编辑 我在 StackOverflow 上找到了有关此主题的更多信息: PKCE 公共客户端 - 无刷新令牌 他们说,没有任何刷新令牌可供公共 pkce 客户端使用。 所以我必须重定向你...

回答 1 投票 0

通过接口自动装配时派生方法上的Spring @Transactional

bean.method() 会调用以下代码中的 @Transactional 注释吗? 公共接口 Iface { 无效方法(); } @成分 公共类派生实现 Iface { @覆盖 ...

回答 1 投票 0

定义了两个 ThreadPoolTaskScheduler beans,但所有计划任务都在其中一个上运行

我想创建两个返回相同 obj 类型的 bean: @SuppressWarnings(“未使用”) @配置 @EnableScheduling 公共类调度配置{ @Bean(名称 = "

回答 1 投票 0

使用动态加载的证书在 Spring 中设置与 Kafka 的 mTLS 连接

我正在开发一个 Spring Kafka 项目,该项目使用以下库 org.springframework.kafka:spring-kafka:3.0.12 连接到 Kafka 服务器。它使用来自

回答 1 投票 0

Spring 6 OAuth 2.0 - 无刷新令牌

我在 Spring 6 Spring Boot 3 中遇到了 OAuth 2.0 服务器的问题。 我构建了一个 AuthServer 和一个 ResourceServer。 使用我的 JS 客户端,我可以登录,获取授权码,然后我可以将此代码交换为

回答 1 投票 0

ActiveMQ 经典消息分组和自动重新平衡消费者

我有多个应用程序发送到一个队列。就我而言,我需要使用消息组。添加另一个消费者时我可以以某种方式重新平衡吗?假设我有 2 个消费者,发送了 50 条消息...

回答 1 投票 0

Spring Boot 应用程序抛出奇怪的异常

我正在遵循教程,一切似乎对作者有用,但对我不起作用。 该用例的目的是添加一个新类别(id、名称、图像和布尔值)。 类别实体: @...

回答 1 投票 0

如何在使用反应式数据源的 WebFlux 上编写自定义验证器

在 Spring MVC 中,我有一个 @UniqueEmail 自定义休眠验证器(用于在注册时检查电子邮件的唯一性),如下所示: 公共类 UniqueEmailValidator 实现 ConstraintValidat...

回答 3 投票 0

为什么一对多数据不传到后端?

我目前正在创建供应商表单,我们可以添加供应商并将其分配给不同的品牌和类别。这意味着供应商与supplier_has_brand_category 具有一对多关系。乙...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.