2014-12-07 90 views
0

我在spring-boot項目中添加了一些自定義的thymeleaf方言和處理器,包:org.store.custom.thymeleaf.dialect和org.store.custom.thymeleaf.processor。在我的html頁面中,我以這種方式配置命名空間:自定義thymeleaf標籤的XML命名空間

<html 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:th="http://www.thymeleaf.org" 
    xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3" 
    xmlns:form="http://form" 
    xmlns:field="http://field"> 

它不工作。 xmlns:form和xmlns:field的正確值應該是什麼,以使基於它們的標籤有效?

UPDATE

的thymeleaf配置是這樣的:

@Configuration 
public class Thymeleaf { 
    @Bean 
    public SpringTemplateEngine templateEngine() { 
    SpringTemplateEngine engine = new SpringTemplateEngine(); 

    final Set<IDialect> dialects = new HashSet<IDialect>(); 
    dialects.add(new SpringSecurityDialect()); 
    dialects.add(new FormDialect()); 
    dialects.add(new FieldDialect()); 
    engine.setDialects(dialects); 

    return engine; 
    } 
} 
+0

我不是專家,我不知道正確的答案,但我把它空('的xmlns:形式=「」'),它作品。也許你的問題在於配置。 – Pablo 2014-12-10 22:12:48

回答

0

畢竟,這個問題是不是真的與命名空間,但我thymeleaf配置。它的工作原理,當我改變類Thymeleaf.java這樣:

@Configuration 
public class Thymeleaf { 
    @Autowired 
    private FormDialect formDialect; 

    @Autowired 
    private FieldDialect fieldDialect; 

    @Bean 
    public SpringTemplateEngine templateEngine() { 
    SpringTemplateEngine engine = new SpringTemplateEngine(); 

    final Set<IDialect> dialects = new HashSet<IDialect>(); 
    dialects.add(new SpringSecurityDialect()); 
    dialects.add(formDialect); 
    dialects.add(fieldDialect); 
    engine.setDialects(dialects); 

    return engine; 
    } 

    @Bean 
    public FormDialect formDialect() { 
    return new FormDialect(); 
    } 

    @Bean 
    public FieldDialect fieldDialect() { 
    return new FieldDialect(); 
    } 
}