我正在使用列表中的对象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表达式中使用现有的长字符串集?
parseLong(String)
是Long
的静态方法>所以这应该工作
T(Long).parseLong(...)