2014-02-26 47 views
0

功能,我是新來thymeleaf.Now同時使用thymeleaf.Actually我在一個簡單的塊擊中我要調用Javascript函數這樣的事情,包括模型值作爲一個字符串類型,而調用thymeleaf

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

我都存儲在一個名爲「ATTR」與屬性模型中的價值。而訪問我試圖代碼這樣的事情,

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

現在發生在這裏我不能夠因爲執行的onclick功能問題onclick裏面的值是

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

,並給出了一個JavaScript錯誤「MYVARIABLE」不defined.It將得到解決,一旦符號單引號來了function1.I唐諾里面怎麼辦it.Can誰能幫助我呢?

回答

0

如果您正在使用JSTL標記庫,你可以使用導出屬性,在頁面的範圍:

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

,並在代碼中使用它:

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

我希望它可以幫助你

+0

沒有..Its不working.It說 「無法解析表達式期函數(MYVARIABLE)」 – user2078883

+0

OUP的我忘了周圍的引號myvariable,你可以試試嗎?我更新帖子添加此。 – Tony

1

你只需要在你的字面值內跳過你的單個逗號\'

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

免責聲明,根據StackOverflow規則:我是thymeleaf的作者。

UPDATE:如果使用Spring EL,它應該是:

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

不工作too.I嘗試像th:onclick =「$ {'function1(\''+ attr +'\')'}」。但它給了我一個錯誤「意想不到的轉義字符」 – user2078883

+1

對不起, 你是對的。如果你使用的是Spring,那是一個Spring EL表達式,你應該用''''而不是'\' –

相關問題