gpt4 book ai didi

java - 在 freemarker 模板中从 javascript 调用 Java 类的方法

转载 作者:行者123 更新时间:2023-12-01 14:18:54 25 4
gpt4 key购买 nike

我有一个 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 中调用 java 方法。

这可能吗?如果是这样,怎么办?如果不是,有哪些替代方案?

总体目标是从下拉列表中获取一个值(使用 JavaScript),然后在按下按钮时调用的 java 方法中使用该值。

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

最佳答案

这并不是这些技术如何协同工作的唯一可能组合,但在通常的流程中,您所期待的事情是不可能的:

  • Java 调用(通过 Spring 介导)呈现 FreeMarker,允许回调到 Java 代码,如下所示它会处理。
  • 此呈现的字符串(可能恰好包含一些 Javascript)通过 HTTP 传送到客户端浏览器。此时,Java 执行已完成。
  • 在浏览器中,解析生成的文本,并运行 Javascript。这里没有服务器的直接知识,也没有办法回调已完成的控制线程。

因此,除非您正在做一些更不寻常的事情,否则您不能做您所建议的事情。

有一些工具允许客户端 Javascript 回调到服务器并与那里的 Java 进行交互。这样你就可以组装一些东西。但您不会简单地直接调用 Java,而无需进行更多工作。

关于java - 在 freemarker 模板中从 javascript 调用 Java 类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17823251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com