为了账号安全,请及时绑定邮箱和手机立即绑定

JSP Spring eval 是 parse int (为什么不解析 long)

JSP Spring eval 是 parse int (为什么不解析 long)

繁星点点滴滴 2024-01-28 16:21:04
在标签中,我使用 spring:eval 将 Id 传递为 ${status.value} ,为什么 spring 使用 parseInt 而不是 parseLong ?ps:${status.value}为submission.Idjsp标签<spring:bind path="id">    <c:if test="${status.value ne null}">    <spring:eval var="submission" expression="@myService.findById(${status.value})"/>这是我的实体,我不确定实体是否会影响 spring:eval@Entity@Cacheable@Audited@DynamicInsert@DynamicUpdate@DisplayField("testNo")@Table(name = "test_submission")public class Submission extends TenantAuditableDynaObjectEntitySupport {这个错误org.springframework.web.servlet.tags.EvalTag.setExpression 这就是我困惑为什么 spring:eval 会去 parseInt ?<spring:eval var="submission" expression="@myService.findById(${status.value})"/>这是我的界面public interface EntityRepository<T extends Entity> extends JpaRepository<T, Long>, DynamicQueryEntityRepository<T> {    @QueryHints({ @QueryHint(name = "org.hibernate.cacheable", value = "true") })    T findById(Long id);这就是我的接口扩展 JpaRepository 的内容package org.springframework.data.jpa.repository;我是春天的新手,请告诉我我错过了哪里设置或其他什么,谢谢。
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

看来您的 status.value 是一个字符串。EL 会将内联数字视为整数,除非您将 L 放在末尾(如在 Java 源代码中)。最好的解决方案是修复您的状态对象,将值视为长整型;下一个最好的方法可能是在表达式中显式插入 parseLong 调用。



查看完整回答
反对 回复 2024-01-28
  • 1 回答
  • 0 关注
  • 23 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信