问题标签 [wicket-6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1235 浏览

ajax - wicket 6.0.0-beta2 使用 AjaxButton 提交表单时更新 DataTable 的内容

我想根据表单的内容更改 DataTable 的内容(将其视为搜索栏功能)。我曾经在 wicket 1.5.x 中这样做,但我似乎无法让它在 wicket 6.0.0-beta2 中工作。AjaxButton 的 onSubmit 方法中似乎没有进入。其他一切正常,每个组件都正确呈现,并且在页面加载时 dataTable 填充了正确的数据,但是当我单击按钮时,什么也没有发生。

任何帮助将不胜感激。这是我的代码的样子:

数据表:

这是带有 AjaxButton 的表单:

0 投票
3 回答
3391 浏览

java - How to use CallBackScript properly in Wicket 6.x

in Wicket 1.x I used an AjaxEventBehavior to place a CallBackScript that delivers me the mouse coordinates. This is what I did: (getEventX() and getEventY() are JavaScript Functions)

That worked quite well. But I don't get how to do this with Wicket 6.x

I do understand, that the way the Ajax link is working was changed. So I tried to use getCallBackUrl in the same way than before. But that did not work.

When I take a look at the generated HTML I can see the ajax link looks like this:

Looks good, but it does not work.

I am pretty sure, I am doing something wrong since wicket 6 but I dont know how to do it the right way.

Any suggestions are greatly appreciated.

cheers Reinhard

0 投票
2 回答
2957 浏览

java - Ajax 没有为我在检票口工作

我想在 wicket 6.5 中测试一些 AJAX DropDown(尝试了 wicket 6.6 并遇到了同样的问题)。

我使用快速启动检票口页面创建了检票口测试项目 - http://wicket.apache.org/start/quickstart.html

mvn archetype:generate -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=6.6.0 -DgroupId=net.betlista -DartifactId=tests.wicket-6.6 -DarchetypeRepository= https://repository.apache .org/ -DinteractiveMode=false

我改变HomaPage了我LoadableDropDownTestPagegetHomePage()生成WicketApplication类。

LoadableDropDownTestPage 的 Java 代码是:

页面的 HTML 是:

我的第一个问题是,我在我的页面上看不到 AJAX 调试链接。但我认为,虽然有,但OnChangeAjaxBehavior我应该看到它。

下一个问题是,当我更改国家下拉菜单中的值时,什么也没有发生,我不知道我做错了什么。

在我的代码中,您可以看到,我也尝试使用 AjaxButton,但这也没有用。

编辑:

日志的一部分(它在 DEV 模式下运行)

0 投票
1 回答
2502 浏览

forms - 检票表单“ServletRequest 不包含多部分内容”

我有一个检票口表格,上面有一个文件上传框。有时这个文件上传框是隐藏的,因为用户不需要附加文档。 我已经调用 setMultiPart(true) 了表单对象,但我仍然(但很少)得到这个错误:

java.lang.IllegalStateException:ServletRequest 不包含多部分内容。一种可能的解决方案是显式调用 Form.setMultipart(true),Wicket 会尽力自动检测多部分表单,但在某些情况下它不能。

有用的事实:

  • 此表单每天提交约 10,000 次,我每天收到此错误 5-10 次。
  • 如果收到错误的用户使用相同的数据再次填写表单,它将正常工作。
  • 我根本无法在本地复制错误。
  • 与我交谈过的少数收到此错误的用户说他们没有上传文件。

这是表单代码的精简版:

表单中添加了一个自定义验证器,并且对某些表单字段有一些 AJAX 回调,但表单本身不是 AJAXy。在浏览器中查看生成的源代码,我得到的表单声明如下所示:

提交表单的按钮是 Java 端的标准检票口按钮和input type="submit"HTML 端的标准检票口按钮,尽管在浏览器源视图中我确实jQuery18307179054977115189="23"在输入中看到了一个属性。

有任何想法吗?我已经尝试了所有方法来复制这个错误并且不能所以你可以提供的任何帮助都会很棒。我正在使用 Wicket 6.6.0。

0 投票
1 回答
1731 浏览

ajax - AjaxLink updateAjaxAttributes - AjaxCallListener getPrecondition

我在从 Wicket 1.5 迁移到 6.6 的过程中卡住了。

早期的 AjaxLink允许覆盖getAjaxCallDecorator()方法并使用preDecorateScript(CharSequence script)包装脚本。

现在推荐的方法是使用AjaxCallListenergetPrecondition(Component component)方法。但是如何使用Component 组件参数包装源脚本?

0 投票
3 回答
4059 浏览

ajax - Wicket 6:如何通过 AbstractDefaultAjaxBehavior 注入 javascript 函数?

我有一个附加了 JavaScript 文件的页面。

JavaScript 有一个函数,最后应该调用一个由 Wicket 通过 AbstractDefaultAjaxBehavior 注入的函数。

JavaScript 看起来像这样:

注入的函数应该是这样的:

我遇到的问题是,当updateAmount调用该saveAmount函数时,(控制台)日志指出“saveAmount”未定义。

如果我查看源代码,注入的函数就在那里,但不是 JavaScript,而是由 wicket 生成的“AJAX”JavaScript。

目标是在 JavaScript 中调用一个函数,该函数将调用由 Wicket 注入的函数,该函数使用 JavaScript 提供的参数执行 AJAX 调用。

我真的很感激任何帮助。

0 投票
1 回答
817 浏览

wicket - 忙碌指示灯 - 未定义检票口

[检票口 6.6.0]

我尝试将繁忙的指标脚本从 1.5.10 迁移到 6.6.0(基于Generic Busy Indicator),但我总是在第 ig 行收到错误“Wicket is not defined”Wicket.Event.subscribe(...)

我应该手动包含任何 JavaScriptReference 或 Wicket 吗?我问是因为我的页面源代码中没有任何 Wicket JS 脚本引用。

0 投票
1 回答
543 浏览

internet-explorer-6 - 带有组合框和 IE6 的 Wicket 自动完成功能

我有一个表格,其中有 AutoCompleteTextField 和两个组合框(检票口中的 DropDowns)。

当显示自动完成下拉菜单时,组合框在 IE6 中隐藏。

使用 AutoCompleteTextField 在表单中隐藏组合框

我的测试页代码是:

测试页标记是

Wicket 不支持 IE6,所以我正在寻找解决方法。

0 投票
1 回答
259 浏览

java - Wicket - 通过 LoginPage 传递 PageParameters

我想要做的是一个简单的页面,它获取一个参数,它是一个对象的id

此页面必须防止未经授权的访问。我添加了@AuthorizeInstantiation("user")注释和托管标准 Wicket 安全支持,包括扩展AuthenticatedWebApplicationMainApplication中的getSignInPageClass()

问题是当我需要在使用原始参数授权后返回我的IndexPage时。我得到了一些解决方案,但我需要它更优雅、更常见(通用)。

  1. 覆盖Application 类中的restartResponseAtSignInPage()方法
  2. 从RequestCycle检索参数:

    /li>
  3. 通过抛出new RestartResponseAtInterceptPageException(getSignInPageClass(), newParameters);来传递它们

我知道这不是一个好的解决方案,因为我需要确定我的 url 中参数的确切索引是什么(编码器只返回 indexedParameters,而不是 namedParameters - 或者我做错了什么?)。

也许有人以前遇到过这个问题?

0 投票
1 回答
204 浏览

java - Wicket - 以优雅的方式在会话级别检索 PageParameters

我需要从 url 检索参数。当我在网页级别执行此操作时,这是一个简单的案例 - 可以通过以下方式完成:

但我需要在会话级别完成- 在getRoles()方法中。

我是这样做的:

网址结构如下所示:www.my.page.com/index/5

索引-INDEX_PREFIX

5 -OBJECT_ID_KEY

有没有更好的办法???