我有 freemarker 模板,其中包含 javascript ,我正在使用 spring mvc 传入一个java对象“emailer” 。
不知何故,在这个freemarker模板中,我想从freemarker模板中的javascript调用emailer对象的“sendEmail(params,..)”方法。我知道如何从freemarker调用java方法(常规方式 - 例如:How do I call java methods on an object from a FreeMarker template?),但我不知道如何从javascript 中的进行操作。
这甚至可能吗?如果是这样,怎么样? 如果不是,有哪些替代方案?
总体目标是从下拉列表中获取值(使用javascript),然后在按下按钮时调用的java方法中使用该值。
提前致谢!如果需要更多信息,我很乐意提供。
答案 0 :(得分:1)
这并不是这些技术如何协同工作的唯一可能组合,但在通常情况下,你期待的东西是不可能的:
Java
电话(由Spring
调解)会呈现FreeMarker
,允许在处理时调用Java
代码。Javascript
)通过HTTP
发送到客户端浏览器。此时Java
执行已完成。Javascript
。这里没有对服务器的直接了解,也没有办法回调那个已完成的控制线程。因此,除非你做一些更不寻常的事情,否则你不能做你所建议的事情。
有一些工具允许客户端Javascript回调服务器并与Java进行交互。所以你可以装备一些东西。但是,如果没有更多的工作,你不会直接调用Java。