java - 如何在 WicketTester 中的 CheckBoxMultipleChoice 上执行 AJAX 事件

标签 java ajax wicket

我正在使用 Wicket 6.20.0 的 CheckBoxMultipleChoice 并通过添加 AjaxFormChoiceComponentUpdatingBehavior 来利用 AJAX 功能。

这正在按要求工作。然而,使用 WicketTester 来测试 CheckBoxMultipleChoice 的功能似乎是不可能的。

当我使用 WicketTesterdebugComponentTrees() 时,CheckBoxMultipleChoice 的唯一路径是它的直接路径,即我没有可以获取子 CheckBox 对象或类似对象来执行 AJAX 事件。

如何使用 WicketTester 执行 AJAX 事件,例如单击复选框之一?

最佳答案

CheckBoxMultipleChoice 是一个“优化”的表单组件,即它使用字符串连接来创建其“子级” - 复选框。如果它使用 CheckBox 组件,那么它会导致更大的组件树和更多的内存消耗。

要使用 WicketTester 进行测试,您只需使用所有选定的值设置请求参数:

tester.getRequest().addParameter(cbmc.getInputName(), "value1");
tester.getRequest().addParameter(cbmc.getInputName(), "value2");
// ...
tester.executeAjaxEvent(cbmc, "click");
// assert

关于java - 如何在 WicketTester 中的 CheckBoxMultipleChoice 上执行 AJAX 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31278261/

相关文章:

java - 数据表中生成的标记

java - 使用Java applet 有什么优点?

java - 查找数组中的前 N ​​个元素

ajax - AJAX 可以传输哪些数据格式?

java - Wicket - 更新 PropertyModel 时表单组件丢失引用

java - 如何在 Wicket 口行为中获得模型的值(value)

java - 如何使用 Ext.Ajax.request 将参数传递给 servlet?

java - 如何使用z轴?

ruby-on-rails - 使用 AJAX 更新部分 View

java - Ajax 如何使数据检索比 Struts 更快?