在调用thymeleaf中的函数时将模型值包括为字符串类型

时间:2014-02-26 13:27:33

标签: java html5 spring web thymeleaf

我是thymeleaf的新手。现在我在使用百里香时遇到了一个简单的障碍。实际上我必须调用这样的Javascript函数,

<input type="button" onclick="function1('myvariable')">

我已将值存储在名为&#34; attr&#34;的属性的模型中。而访问我尝试了类似这样的代码,

 <input type="button" th:onclick="${'function1('+attr+')'">

现在出现的问题是我无法执行onclick功能,因为onclick里面的值是

<input type="button" onclick="function1(myvariable)">

它会出现Javascript错误&#34; myvariable&#34;没有定义。一旦符号单引号进入函数内,它就会得到解决。我不知道怎么做。任何人都可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您只需使用\'

来逃避文字中的单个逗号
<input type="button" th:onclick="${'function1(\''+attr+'\')'">

免责声明,根据StackOverflow规则:我是百里香的作者。

UPDATE :如果使用Spring EL,则应为:

<input type="button" th:onclick="${'function1('''+attr+'''')'">

答案 1 :(得分:0)

如果您使用的是jstl标记库,则可以使用以下命令在页面范围内导出属性:

<c:set var="myvariable" value="${attr}" />

并在您的代码中使用它:

<input type="button" onclick="function1(myvariable)">

我希望它可以帮到你