问题标签 [wicket-1.5]

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 回答
3615 浏览

wicket - 在表单中处理 ListView

请考虑以下注册:

这两个类(我假设 setter、getter 等)

这种形式(模型被包裹在 CompoundPropertyModel 中):

现在上面的代码正在为我生成一个运行时异常:

我可以更改 TextField 以包含这样的模型:

这解决了错误,但是当我提交表单(使用 Ajax 按钮)时,我永远看不到输入到表单字段中的值。

那么如何让 TextField 模型连接到我的表单模型呢?我忽略了显而易见的事情吗?(这当然只是我原始代码的一个非常缩短的版本......)

需要补充:我所有的模型都包裹在 CompoundPropertyModels 中。

提前感谢您提供如何解决此问题的任何提示。

0 投票
1 回答
773 浏览

wicket - 片段中的 Wicket 嵌入消息尝试从页面模型中获取片段

我非常接近工作,但最后的障碍让我感到困惑。我的用例:对于一个讨论小组,我必须根据讨论中的参与者数量显示一条 i18n 消息。所以,我有这样的消息:

  • 从 ${startedBy.displayName} 到 ${firstRecipients}
  • 从 ${startedBy.displayName} 到 ${firstRecipients} 和 ${otherRecipientsCount} 其他人

我选择使用片段,因为这似乎是最干净的方法,因此对于上述每条消息,我都有一个片段。对于第二个,这是:

因此,检票口消息将由文本 + 嵌入式组件的变量(startedBy.displayName,...)编译而成。此片段将添加到以下范围:

相关的java代码:

这就像一个魅力。现在,最后一个障碍,我需要将startedBy.displayName渲染为链接。

html更改:

代码更改:

因此,我没有将标签 (startedByLabel) 添加到片段,而是将标签添加到链接并将链接添加到片段。

现在,当面板被渲染时,我得到以下异常:

因此,出于某种原因,在解析消息的链条下游某处,它试图在(模型对象) DiscussionTO 上找到一个 getRecipientsPlaceHolder(参见堆栈跟踪中的 WicketMessageResolver)。

似乎如果消息的变量(startedBy.displayName)与 wicket:message 标记下的孩子的 id 不对应,那么 wicket 无法找到它?

0 投票
3 回答
1401 浏览

java - Wicket 通用组件设计模式

我正在实现一些通用组件,我只是想知道我的设计模式是否有意义以及是否可以进行任何改进。例如,这是一个可用于过滤内容的通用面板:

在另一个类中使用如下:

当一个人覆盖该方法时,首先被迫使用 setParamsObject 方法,这有点烦人。有没有更好的方法来实现对该对象的引用?这是否是在检票口中实现可重用和相对通用组件的一种明智的方式?任何反馈将不胜感激,我相信这里还有改进的余地。

编辑我:只是在某些情况下,我正在做的是实现这样的页面

在此处输入图像描述

我向用户展示了一个数据视图和过滤它的选项。有很多不同实体的页面,但是 GUI 组件可以而且应该尽可能通用,以免违反 DRY。示例代码显然是页面的过滤器文本字段和按钮部分。

编辑二:如果可能的话,我希望这个组件更加松散耦合,例如让它能够做完全不同的事情,而不仅仅是修改一个 params 对象(例如,有另一种情况我需要更新两个 params 对象,然后我将无法使用此面板)。现在表单中的 onSubmit 方法需要对要在覆盖方法中使用的对象的引用是事先已知的。有没有办法不这样或动态设置这些对象的存在和/或类型?

编辑三:关键是这个面板的核心功能真的只是让用户

  • 输入一个字符串
  • 当用户单击按钮时,通知并授予系统其他部分对该字符串的访问权限。

“系统的其他部分”对字符串所做的事情不应该真正关心这个面板,但就像现在一样,它与“系统的其他部分”必须执行某些操作的 params 对象耦合。如果可能的话,我想摆脱这种耦合。我可能还想使用此面板中的字符串仅打印到控制台或将其用于其他一些任意任务。

0 投票
2 回答
694 浏览

javascript - 如何先进行表单验证,然后在检票口中进行确认弹出调用

我正在使用 ajax 按钮并覆盖 IAjaxCallDecorator getAjaxCallDecorator 以进行 javascript 确认弹出窗口。当我单击按钮时,它首先调用此确认弹出窗口,然后执行表单验证

我们有什么方法可以先进行验证,然后再弹出确认以保存操作?

提前致谢

0 投票
1 回答
5112 浏览

wicket - 我们可以在 wicket ajax 按钮方法的 onsubmit 上显示 javascript 确认框吗

我们可以附加脚本以首先显示一个是\否确认弹出窗口,然后如果用户选择是然后继续保存逻辑

注意:我希望在按钮的 onsubmit 中弹出确认弹出窗口,例如

0 投票
1 回答
470 浏览

wicket - 检票口验证中的错误字段

当表单组件的验证失败时,我试图让我的文本字段出错。我正在向我的文本字段类属性添加一个“错误”值,使其变为红色。

我通过覆盖表单上的 onValidate() 方法并打开我的组件以查看它们是否有错误来做到这一点。

这可行,但是当我查看生成的 HTML 时:

它生成错误值 3 次。我究竟做错了什么?

这是在检票口中实现这一目标的最佳方法还是有更好的方法???

谢谢,科恩

0 投票
1 回答
635 浏览

html - Wicket - 应用 setOutputMarkupPlaceholderTag 时 div 标签的位置发生变化 true

我的 html 页面中有一个 div 标签,它充当面板的占位符。

在我的 java 代码中,每当我在面板上应用 setOutputMarkupPlaceholderTag(true) 时,我的 div 标签在 html 中的位置会自动更改为左上角,而我的 div 的原始位置是我在 CSS 样式表中设置的右下角.

我应该怎么办 ?

0 投票
7 回答
7254 浏览

url - 删除url中的版本号

如何删除或隐藏 Wicket 1.5 中引入的 URL 中的版本号?

安装页面没有帮助。

0 投票
1 回答
832 浏览

components - 如何使用检票口渲染策略?

在 wicket 1.5 中,ChildFirstHeaderRenderStrategy并且ParentFirstHeaderRenderStrategy正在使用中。

有没有人可以详细解释这些渲染策略,并举例说明如何在编码时使用它们?

我不知道在我的代码中在哪里添加这些渲染策略。

0 投票
3 回答
8300 浏览

java - 如何将自定义 BigDecimal 转换器设置为 TextField在 Wicket 1.5 中?

从 1.4 到 1.5,除了已记录的更改之外,似乎还有许多未记录更改。

在 1.4 中,我有:

在 1.5 中,我将其更改为这样(以匹配现在声明getConverter()的方式):

我的 IDE 显示为未经检查的分配警告。但是然后尝试构建项目,它实际上是一个编译错误

自定义的 MonetaryBigDecimalConverter 看起来像这样(1.5):

我怎样才能让它再次工作?