2015-07-01 23 views
0

我試圖從一個JavaScript文件中作爲參數傳遞一個變量作爲模板擴展中的java方法。該變量是我想要在網頁上顯示的圖像的文件路徑。當我嘗試顯示普通圖像時,我可以使用它來調用它使用一個JavaScript變量作爲參數在一個模板擴展中調用的css中的參數

"${ImageUrl}" 

它返回整個文件。但是,該文件位於外部文件系統中,所以我想要執行的操作是call這種方法可以獲取正確的文件並根據需要處理該文件,並將該文件路徑作爲該方法中的參數傳遞。然而,當我call

"${getImage(ImageUrl}" 

我的Java文件中讀取的ImageUrl爲文本 「的ImageUrl」。

有沒有辦法調用方法並傳入正確的javascript變量作爲參數?

感謝

回答

0

請記住Web應用程序的基本物理:JavaScript的瀏覽器不能直接調用服務器上的Java代碼的方法。此外,在Tapestry中,如果模板文件中有模板擴展($ {...}語法),則首先在服務器端上解析該擴展,然後將發送給瀏覽器,然後運行JavaScript在瀏覽器中。

您沒有提供足夠的信息讓讀者瞭解您的案例中最佳解決方案。您可以通過AJAX調用將信息從JavaScript發送到服務器端Web應用程序;或者JavaScript可能會請求整個頁面呈現,將圖像名稱作爲頁面激活上下文傳遞;或者JavaScript可以建立實際的URL本身並且即時創建一個標籤。這一切都取決於你自己的喜好和要求。

0

Javascript文件是靜態的,它們可以下載一次並通過瀏覽器緩存。而不是將動態變量嵌入到js文件中,將它們作爲函數參數傳入

相關問題