【问题标题】:How to pass variable to session.attribute.contains() thymeleaf?如何将变量传递给 session.attribute.contains() thymeleaf?
【发布时间】:2020-03-21 08:02:41
【问题描述】:

我有一些通过会话属性传递的用户角色。我想通过 properties.message 中的变量名检查 HTML 文件中的这些角色。但它显示 EL1043E: Unexpected token。应为“标识符”,但为“lcurly({)”。我该如何解决这个问题?

我的控制器类如下:

Class RoleController{

    public void getDashboardInformation(Model model, HttpSession session) {
                session.setAttribute("roles", getUserRoleIds());
    }
 }

我的 message.properties.xml 如下:

planner=4
sectionManager=5    

我的 HTML 文件如下:

<div class="custom-file upload-text-area">
		<input th:attrappend="disabled=${session.roles.contains(5)} ? '' : 'disabled'" type="file"        class="custom-file-input upload-text-area" id="CardFileName" name="CardFileName" accept=".csv">
		<label class="custom-file-label" for="customFile">please insert</label>
</div>
 <span class="input-group-btn">
   <input th:attrappend="disabled=${session.roles.contains(4)} ? '' : 'disabled'" class="form-control" type="submit" value="submit"></span>

它工作正常。但是当我要用 message.properties 值替换 4 和 5 时,如下所示:

    <div class="custom-file upload-text-area">
    		<input th:attrappend="disabled=${session.roles.contains(#{sectionManager})} ? '' : 'disabled'" type="file"        class="custom-file-input upload-text-area" id="CardFileName" name="CardFileName" accept=".csv">
    		<label class="custom-file-label" for="customFile">please insert</label>
    </div>
     <span class="input-group-btn">
       <input th:attrappend="disabled=${session.roles.contains(#{planner})} ? '' : 'disabled'" class="form-control" type="submit" value="submit"></span>

它显示以下错误: EL1043E: 意外令牌。应为“标识符”,但为“lcurly({)”

【问题讨论】:

    标签: thymeleaf


    【解决方案1】:

    我能够重新创建此问题,然后使用 Thymeleaf preprocessor 解决它。

    例如:

    th:attrappend="disabled=${session.roles.contains(__#{planner}__)} ? '' : 'disabled'"
    

    我的测试用例比你的简单,但我认为它应该适合你。预处理器确保在计算表达式的其余部分之前已经计算了消息表达式(在您的情况下为整数值)。

    【讨论】:

      猜你喜欢
      • 2020-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 1970-01-01
      • 2021-05-25
      • 2018-12-28
      • 2011-04-12
      相关资源
      最近更新 更多