簡體   English   中英

在freemarker模板中從javascript調用Java類的方法

[英]Calling Java class's method from javascript in a freemarker template

我有一個帶有javascriptfreemarker模板,並且我正在使用spring mvc傳遞一個Java對象“ emailer”。

不知何故,在這個freemarker模板中,我想從freemarker模板中的javascript調用emailer對象的“ sendEmail(params,..)”方法。 我知道如何從freemarker調用Java方法(常規方法-例如: 如何從FreeMarker模板調用對象上的Java方法? ),但我不知道如何從javascript中進行操作

這有可能嗎? 如果是這樣,怎么辦? 如果不是,那么還有哪些替代方案?

總體目標是從下拉列表中獲取一個值(使用javascript),然后在按下按鈕時調用的java方法中使用該值。

提前致謝! 如果需要更多信息,我很樂意提供。

這不是這些技術如何協同工作的唯一可能的組合,但是在通常的情況下,您所期待的是不可能的:

  • Java調用(由Spring介導)呈現FreeMarker ,從而允許在處理過程中將其調用回Java代碼。
  • 此呈現的字符串(可能恰好包含一些Javascript )通過HTTP傳送到客戶端瀏覽器。 至此Java執行已經完成。
  • 在瀏覽器中,將解析生成的文本,然后運行Javascript 這里沒有服務器的直接知識,也沒有辦法回調完成的控制線程。

因此,除非您要執行更不尋常的操作,否則您就無法按照您的建議去做。

有一些工具可以使客戶端Javascript回調到服務器並在其中與Java進行交互。 這樣您就可以裝配一些東西。 但是,您無需做更多工作就不會直接直接調用Java。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM