在我的SpringMVC应用程序中,我试图创建一个自定义的thymeleaf方言来将ASCII字符串转换为文本。我能够创建前缀不是'th'
的方言。但是如果我尝试使用'th'
作为前缀,那么服务器将抛出以下运行时异常。
org.thymeleaf.exceptions.ConfigurationException: When using SpringTemplateEngine, at least one of the configured dialects must be or extend org.thymeleaf.spring4.dialect.SpringStandardDialect.
org.thymeleaf.spring4.SpringTemplateEngine.initializeSpecific(SpringTemplateEngine.java:147)
org.thymeleaf.TemplateEngine.initialize(TemplateEngine.java:831)
org.thymeleaf.spring4.view.ThymeleafView.renderFragment(ThymeleafView.java:203)
org.thymeleaf.spring4.view.ThymeleafView.render(ThymeleafView.java:190)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1228)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1011)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:955)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
基本上,我需要在这里实现的是创建一个像这样的自定义方言th:asciitext
。任何帮助都将不胜感激。
注:如果有人需要查看我已经尝试过的代码,请在评论部分提问。
请参阅以下网址:http://www.thymeleaf.org/doc/tutorials/2.1/extendingthymeleaf.html
我认为您的场景与场景1类似。
我能找到的唯一方法是扩展SpringTemplateEngine
(它是为扩展而设计的)。然后,用新的模板引擎替换默认的SpringTemplateEngine
。查看下面的代码:
MySpringTemplateEngine
public class MySpringTemplateEngine extends SpringTemplateEngine {
private Set<IProcessor> additionalProcessors;
public Set<IProcessor> getAdditionalProcessors() {
return additionalProcessors;
}
public void setAdditionalProcessors(Set<IProcessor> additionalProcessors) {
this.additionalProcessors = additionalProcessors;
}
@Override
public void afterPropertiesSet() throws Exception {
super.afterPropertiesSet();
Map<String, IDialect> dialectsByPrefix = this.getDialectsByPrefix();
StandardDialect springDialect = (StandardDialect) dialectsByPrefix.get("th");
springDialect.setAdditionalProcessors(additionalProcessors);
}
}
应用程序上下文。xml
<bean id="templateEngine" class="path.to.extended.engine.MySpringTemplateEngine">
<property name="templateResolver" ref="templateResolver" />
<property name="additionalProcessors">
<set>
<bean class="path.to.your.processor.AttrProcessor1" />
<bean class="path.to.your.processor.AttrProcessor2" />
</set>
</property>
</bean>
我正在创建一种自定义方言来替换
Thymeleaf有许多有用的实用程序,如或。我试图添加一个自定义的,但不知道如何注册这一点。
主要内容:1. 什么是标准方言?,2. 标准表达式语法,2.7 表达式预处理,3. 基本的属性本节将带您了解一些最重要的概念,以了解以标准或SpringStandard方言编写的Thymeleaf模板。 1. 什么是标准方言? Thymeleaf是非常非常可扩展的,它允许自定义的名字来定义一组模板属性(或者甚至是标签),用自定语法评估计算表达式和应用逻辑。它更像是一个模板引擎框架。 它还带有一些称为标准方言(称为Standard和SpringStandard)的东西,它们定义了一组功能,这
问题内容: 是否可以向HTML标记添加自定义属性,如下所示? 问题答案: 您可以修改!DOCTYPE声明(即DTD)以允许它,以便[XML]文档仍然有效: 表示它是可选属性,或者您可以使用,等等。
问题内容: 我正在研究Spring Data JPA。考虑下面的示例,默认情况下我将使所有crud和finder功能正常工作,如果我想自定义finder,那么也可以在界面本身中轻松完成。 我想知道如何为上述AccountRepository的实现添加完整的自定义方法?由于它是一个接口,所以我不能在那里实现该方法。 问题答案: 你需要为自定义方法创建一个单独的接口: 并提供该接口的实现类:
一个具有“姓名”、“地址”和“工资”属性的实体“人” 两个角色-“员工”和“经理” 虽然员工应该能够编辑他自己的地址,但他肯定不能改变他的工资或其他人的地址。虽然他可能被允许看到自己的工资和其他用户的地址,但他甚至不允许看到其他人的工资,更不用说编辑了。另一方面,manager具有完全的readwrite权限。 这在后端不是问题--我们可以在那里使用自定义bean验证来强制执行写权限。 我想收到