未定义的属性名称(sec:authentication)

Posted

技术标签:

【中文标题】未定义的属性名称(sec:authentication)【英文标题】:Undefined attribute name (sec:authentication) 【发布时间】:2016-05-18 01:29:21 【问题描述】:

我在 Spring Security 简单 POC 中使用 Thymleaf。下面是我在 home.html 文件中的示例代码。

Hello <span sec:authentication="name">User</span>!i

如何摆脱 html 警告

Undefined attribute name (sec:authentication).

【问题讨论】:

【参考方案1】:

我只是复制了 sec 标签的命名空间,html 警告消失了

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:th="http://www.thymeleaf.org"
    xmlns:sec="http://www.thymeleaf.org">

【讨论】:

【参考方案2】:

Joel 的回答效果很好但这是Official Guidelines 中建议的正确名称空间

xmlns:sec="http://www.thymeleaf.org/extras/spring-security"

【讨论】:

【参考方案3】:

1) 将此依赖添加到pom.xml:

<dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-springsecurity3</artifactId>
    <version>3.0.0.BETA01</version>
</dependency>

2) 为templateEngine bean 添加额外的方言:

<!-- Thymeleaf Template Engine (Spring4-specific version) -->
<bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine">
    <property name="templateResolvers">
        <set>
            <ref bean="templateResolver" />
        </set>
    </property>
    <property name="additionalDialects">
        <set>
             <bean class="org.thymeleaf.extras.springsecurity3.dialect.SpringSecurityDialect" />
        </set>
    </property>
</bean>

【讨论】:

我已经添加了这些库和配置。我认为这不是问题的解决方案。 @fuzzy28 你看过这个问题了吗:***.com/questions/18309864/… ?

以上是关于未定义的属性名称(sec:authentication)的主要内容,如果未能解决你的问题,请参考以下文章

Angular2:无法读取未定义的属性“名称”

未捕获的类型错误:无法读取未定义的属性“名称”

过滤数据时错误无法读取未定义的属性名称字段名过滤器?

遍历对象数组-TypeError:无法读取未定义的属性“名称”

未定义的属性名称(sec:authentication)

TypeError:无法读取未定义 Passpor 错误的属性“名称”