【问题标题】:Generate Javascript popup alert from Java [duplicate]从Java生成Javascript弹出警报[重复]
【发布时间】:2015-07-01 19:05:38
【问题描述】:

如何在 Java 中生成 Javascript 弹出窗口?

我正在使用 wicket/jquery 库。

我尝试了以下方法,但由于未找到警报方法错误而失败

import javax.script.*;

public class ExecuteScript {
  public static void main(String[] args) throws Exception {
    // create a script engine manager
    ScriptEngineManager factory = new ScriptEngineManager();
    // create a JavaScript engine
    ScriptEngine engine = factory.getEngineByName("JavaScript");
    // evaluate JavaScript code from String
    engine.eval("alert(\"Test\")");
  }
}

【问题讨论】:

  • Javascript 是客户端,Java 是服务器端......你到底想做什么?
  • 嗨,我真的只是想在我的 UI 上的 javacode 中弹出一个显示。我的 UI 是用 html/wicket/JS 构建的。我需要做的逻辑在里面一个 onsubmit 所以我无权访问 AjaxRequestTarget 目标。有没有办法在 onSubmit 中创建一个对话框并立即显示而不会发生单击事件?
  • 你想要一个 Wicket 模式对话框吗?这里有一个例子wicket-library.com/wicket-examples/ajax/…
  • @AndrewFielden 这看起来很接近我需要的代码的哪一部分,因为我可以从我的 java 代码中的任何位置调用我创建的类,并显示一个弹出窗口

标签: java javascript jquery wicket


【解决方案1】:

弹出对话框通常通过单击某个按钮来触发,或者您可以将new AjaxEventBehavior("click") 添加到 Wicket 组件。下面的代码片段让您了解如何将它与 AjaxButton 一起使用。

public class MyPanel extends Panel {

  private ModalWindow modalWindow;

  public MyPanel(String id) {

    super(id);

    modalWindow = new ModalWindow("debugDialog");

    add(modalWindow);

    add(new AjaxButton("myButton") {
      protected void onSubmit(AjaxRequestTarget target) {

        Component dbgPanel = // Create a panel to contain the window content
        modalWindow.setContent(dbgPanel);
        modalWindow.show(target);
      }
    }
  }
}

【讨论】:

  • 有没有办法以编程方式单击该按钮?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
相关资源
最近更新 更多