我有这段代码Thymeleaf调用Spring上下文并提取用户ID。
<li {#ctx.httpSession} >
<span th:object="${session.user}"> </span>
<span><p>Surname: <span th:text="*{user.id}">Pepper</span></p></span>
我想将其放入现有的th:replace列出的项目中。基本上,我需要用url中的当前会话userid替换static 2,我尝试了很多选项,并且似乎无法在线找到解决方案。
This is one of my attempts
<li sec:authorize="isAuthenticated()" {#ctx.httpSession}, th:object="${session.user}" th:replace="::menuItem ( '/users/'+*{user.id}+'/coworkers/find','coworkers','find coworkers','search','Find coworkers')"><span>Find Coworkers</span>
</li>
This is the orginial
<li sec:authorize="isAuthenticated()" th:replace="::menuItem ( '/users/2/coworkers/find','coworkers','find coworkers','search','Find coworkers')">
我是Thymeleaf的新手,非常感谢您的帮助。
尝试过{ * {user.id} }
由以下原因引起:org.thymeleaf.exceptions.TemplateProcessingException:评估SpringEL表达式的异常:“ user.id”(模板:“ fragments / layout”-第65行,col 106)
答案 0 :(得分:0)
这应该有效:
th:replace="::menuItem(*{'/users/' + user.id + '/coworkers/find'}, 'coworkers', 'find coworkers', 'search', 'Find coworkers')"