【问题标题】:Forms divided into tabs in Apache Wicket表单在 Apache Wicket 中分为选项卡
【发布时间】:2011-10-03 09:24:21
【问题描述】:

我正在处理一个项目,该项目需要将页面上的表单拆分并放入单独的选项卡中。 Apache Wicket 有非常好的和简单的方法来自己做标签(TabbedPanel 类),但我担心的是,这个解决方案依赖 AJAX 来加载面板的内容,因此表单的唯一部分将在用户之后提交按“提交”按钮。

我找到了一个简单 CSS/JS 选项卡的解决方案 (http://www.barelyfitz.com/projects/tabber/),但我觉得使用第三方解决方案很不方便,而且它使我的项目变得复杂(另外,我不确定许可证)。

我该怎么办?

【问题讨论】:

    标签: java ajax forms tabs wicket


    【解决方案1】:

    有几个完全基于 JS/CSS 的带有 JQuery 的 TabbedPanel 实现。 请参阅 wicketstuff 的 jquery 集成项目和 WiQuery 项目。

    【讨论】:

    • 感谢您的提示,但我选择了非基于 jQuery 的 CSS/JS 解决方案。不过,您关于 jQuery 与 Wicket 集成的建议对我未来的项目很有价值。 :)
    【解决方案2】:

    默认的 TabbedPanel 不使用 AJAX。要使用 Ajax,有一个自己的实现 (AjaxTabbedPanel)。

    【讨论】:

    • 但这仍然意味着不同选项卡上的组件将在不同的请求中提交。
    • @McGregor - 完全正确! - 我尝试了 AjaxTabbedPanel 和 TabbedPanel。结果相同。
    【解决方案3】:

    这对我来说听起来很像一个巫师。由于 wicket 提供了一个 wizard component 来处理这种用例,这可能是一个很好的选择。由于我还没有使用过这个组件,我不知道它可以显示多远,但如果不能,它至少可以让您了解如何使用标签构建自己的。

    【讨论】:

    • wizard 可能值得一看,但有明确要求在选项卡中执行此操作。
    • @DoktorNo 选项卡应该很容易实现,方法是从向导覆盖受保护的Component newButtonBar(final String id) 并提供自己的org.apache.wicket.extensions.wizard.IDefaultButtonProvider 实现来构建您的选项卡(并且可能隐藏最初在向导中找到的其他按钮)。
    • 听起来不错,但“真实”选项卡允许用户快速转到表单的特定部分,而无需像在向导中那样通过其他面板。
    • @DoktorNo 这就是为什么你应该实现你自己的 ButtonBar 和你的标签页的所有按钮
    • 我从我的问题链接中尝试了 CSS/JS 解决方案,到目前为止它是最可行的解决方案。不需要额外的 Java 编码,这正是我所需要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    相关资源
    最近更新 更多