在SpringEL表达式中将字符串从长字符串转换为长整数

问题描述 投票:0回答:2

我正在使用列表中的对象ID来决定是否应该选择它,例如:

<option th:each="tag : ${tagList}" th:value="${tag.id}" th:text="${tag.text}" th:selected="${idSet.contains(tag.id)}"></option>

但是,我必须使用现有的Set<Long>专门创建idSet(Set<String>)作为我的原始实现:

<option th:each="tag : ${tagList}" th:value="${tag.id}" th:text="${tag.text}" th:selected="${searchSet.contains(Long.valueOf(tag.id))}"></option>

OR

<option th:each="tag : ${tagList}" th:value="${tag.id}" th:text="${tag.text}" th:selected="${searchSet.contains(Long.parseLong(tag.id))}"></option>

产生此异常:

Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1011E: Method call: Attempted to call method valueOf(java.lang.Long) on null context object

如何在SpringEL表达式中使用现有的长字符串集?

html casting thymeleaf spring-el
2个回答
0
投票
也使用此运算符调用静态方法

parseLong(String)Long的静态方法>所以这应该工作

T(Long).parseLong(...)


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.