在生成自定义属性时,是否可以进行基本的转义(对于我来说,是“&”号)?我尝试了很多方法(使用正常的转义,将所有动态属性的th:text,th:utext,th:attr替换为我的Spring代码中的自定义标记),不幸的是,发现了一些变通方法,如下所示。>
基本上,这是一个带有Thymealeaf 3模板的AngularJS应用程序:
<script th:inline="javascript">
function customSubmit() {
/*<![CDATA[*/
return /*[(${DIALOG_NAME} + '.$valid && submit()')]*/ null;
/*]]>*/
}
</script>
<form th:name="${DIALOG_NAME}"
th:action= "'/' + ${MODULE} + '.' + ${DIALOG_NAME}"
th:ng-app="${DIALOG_NAME} + 'App'"
th:ng-controller="${DIALOG_NAME} + 'Controller'"
ng-submit="customSubmit()"
...
>
...
</form>
我想做的是一种类似的构造
th:ng-submit="some Thymeleaf expression"
生成带有&&的自定义属性值:
ng-submit="someDialog.$valid && submit()"
没有任何函数重定向,如上面的解决方法一样。
除了扩展Thymeleaf(我正在使用SpringStandard方言)之外,还有什么直接的方法可以生成这样的字符串?
谢谢您的任何建议。
答案 0 :(得分:0)
“&”号(&)应该在标记属性中转义为HTML,因此您可以这样操作:
th:attr="ng-submit='some thymeleaf with && in it'"
编辑: 如果您还想在最终的表单属性值中引用某个模型属性的值,则必须使用表达式预处理,如下所示:
<form th:attr="ng-submit='__${DIALOG_NAME}__' + ' some ampersand && in it'">
</form>