2014-02-06 19 views
0

設置變量當我試圖從javascript函數在GSP視圖我有錯誤設置一個變量:「()空對象上不能調用方法FUNC」Grails的 - 從javascript函數

GSP :

<g:set var="variable" value="${tr.func.name()}" /> 

我也試圖解決該問題的get沒有成功: 變量undifined

<g:javascript>var test = tr.func.name();</g:javascript> 
<g:set var="variable" value="${test}" /> 
<g:javascript>alert(${variable});</g:javascript> 

感謝

+1

這是不可能的。 javascript在瀏覽器,客戶端計算機上,而不是服務器上,當視圖已經處理並傳輸到瀏覽器時。你真的想要達到什麼? –

+0

我有一個jquery函數,從用戶獲取timzone,我想用它來: Jils

+1

現在已經太晚了,gsp在服務器上運行。你不能在瀏覽器中使用gsp標籤。所以,你必須使用JavaScript進行日期格式化。 –

回答

2

您應該在瀏覽器中使用Javascript。 GSP在服務器端工作。

只需在格林尼治標準時間通過瀏覽器的日期,並在那裏應用格式。日期格式有一個很好的js庫:moment.js

1

你不能那樣做。 <g:set>用於設置GSP內的服務器端變量。 Javascript是客戶端。

+0

Grails提供了另一種解決方案嗎? – Jils

+1

沒有解決方案。 GSP標籤在被髮送給客戶之前被呈現。當JavaScript執行時,它在客戶端中。客戶端和服務器端的區別是重要的。您正在尋找的解決方案是使用JavaScript日期格式。 – spikeheap