问题标签 [wicket]

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 投票
3 回答
1653 浏览

java - 任何现有的 Apache Wicket 框架示例?

我计划使用Wicket构建一个带有数据库存储的网站。我以前没用过 Wicket。我可以从任何示例框架开始吗?

0 投票
3 回答
3273 浏览

wicket - Wicket 测试 startPanel(Panel) 和 PageParameters - 如何设置它们?

目前我正在使用 WicketTester 的 startPanel 方法来测试我的面板。在这些面板中,我经常使用 PageParameters 来访问数据,使用 getPage().getPageParameters()。但是,startPanel 方法不会为 DummyPage 初始化任何页面参数,也没有为我提供设置页面参数的功能。

如何在面板测试期间设置我的页面参数?

0 投票
3 回答
1018 浏览

java - Wicket 组件 ID 最佳实践

刚开始玩,每个人都是如何连接他们的组件ID的?

到目前为止,我遇到的最常见错误是组件 ID 不匹配。例如,

在 html

在Java方面

如果有帮助,我正在使用 maven/IntelliJ 设置。谢谢!

0 投票
1 回答
640 浏览

java - 是否可以通知 Web 应用程序 Web 容器(例如 Tomcat)正在重新加载、卸载或关闭

我有一个在 Tomcat 中运行的 Wicket Web 应用程序。应用程序使用 Spring(通过 org.springframework.web.context.ContextLoaderListener)来初始化应用程序。这一切都很好,有利于启动,但我还希望收到某种通知,说明 Context 正在被销毁,以便我可以关闭生成的线程。有没有办法收到这样的通知?我已经包含了我的应用程序的摘录,以帮助您理解我的问题。

web.xml 提取

春天应用上下文.xml

MyWebApp.java 提取

MyWebServiceAppImpl.java 提取

0 投票
1 回答
2544 浏览

java - Wicket:如何处理长时间运行的任务

我已经设置了一个 Wicket + Hibernate + Spring Web 应用程序,该应用程序涉及收集一些数据(生成并返回一些文件),将其存储在数据库中,创建一些图像并将所有这些显示在网页上。

这一切都适用于短期运行,但有时收集数据(涉及一些远程数字处理)需要太长时间(20 分钟以上)并且超时。我尝试使用两种方法解决此问题,但它们都显示出一些问题。

第一种方法是使用AjaxLazyLoadPanel并在 getLazyLoadComponent 中执行所有操作。这对于短期运行很好,但是对于 20 多分钟的运行,由于超时,LazyLoadComponents 不会加载(那里很好的矛盾修饰符)。

第二种方法涉及创建一个中间片段,其中添加 了一个持续时间设置为 10 秒的AjaxSelfUpdatingTimerBehavior,轮询在数字运算中创建的文件。这似乎使任务在后台运行没有问题,但是当返回的数据需要存储在数据库中时会失败。我正在使用 Open Session in View 模式,但在 20 分钟后尝试存储数据时可能会失败?(解决方案可能在于解决这个问题..)。

由于上述问题,我现在正在阅读处理这些长时间运行任务的替代方法并遇到:

我现在想知道其中任何一个是否更适合解决我在运行任务和之后将数据存储在数据库中时遇到的超时问题,或者是否有人有任何其他解决方案可能对此有所帮助情况。

我真的很想知道一种新方法是否可行,然后再花一天时间实施可能最终无法奏效的东西。

最好的问候,
蒂姆

0 投票
2 回答
7120 浏览

security - 我应该如何保护使用 Wicket、Spring 和 JPA 编写的 web 应用程序?

因此,我有一个使用 Wicket 1.4 框架的基于 Web 的应用程序,它使用 Spring beans、Java Persistence API (JPA) 和 OpenSessionInView 模式。我希望找到一个声明性的安全模型,但不需要大量的 XML 配置——我更喜欢注释。

以下是目前的选项:

  1. Spring Security (指南) - 看起来很完整,但我发现的每个将它与 Wicket 结合的指南仍​​然称它为 Acegi Security,这让我觉得它一定是旧的。

  2. Wicket-Auth-Roles(指南 1指南 2) - 大多数指南建议将其与 Spring Security 混合使用,我喜欢 @Authorize("ROLE1","ROLE2",etc) 的声明式风格。我担心必须扩展 AuthenticatedWebApplication,因为我已经在扩展 org.apache.wicket.protocol.http.WebApplication,而 Spring 已经在 org.apache.wicket.spring.SpringWebApplicationFactory 后面进行代理。

  3. SWARM / WASP(指南)——这看起来是最新的(虽然主要贡献者几年前去世了),但我讨厌所有声明主体权限的 JAAS 样式的文本文件。我也不喜欢为用户可能想做的每一件事创建一个 Action 类的想法。安全模型对我来说也不是很明显。另外,没有 Authn 示例。

此外,看起来很多人建议混合使用第一个和第二个选项。不过,我根本不知道最佳实践是什么。

0 投票
4 回答
1871 浏览

extjs - 混合 Ext JS 和 Wicket

我有一个与 Wicket 和 Ext JS 相关的问题。我在 Ext JS 中有一个文本字段,我想向它添加一个 Wicket ID。在 Ext JS 中,文本字段的属性有限。我怎样才能做到这一点?

0 投票
2 回答
175 浏览

java - 默认情况下将 Component.ouputMarkupId 设置为 false 背后的设计决策是什么?

在 Apache Wicket Web 框架中,每个组件默认从 getOuputMarkupId() 返回 false

我很好奇原因。背后的设计决策。

我正在使用 ajax 组件,我需要刷新页面上的其他一些组件。为此,我必须在涉及 ajax 页面刷新的每个组件上设置输出标记 (true)。因为我大量使用 ajax,所以我必须经常这样做。而且不是很方便。除了“最好的代码根本就是没有代码”。

我可以这样处理:

但是有什么取舍吗?我想到的唯一权衡是:

  • 呈现的页面 (html) 更大
  • 有一些渲染开销(即当 id 属性写到 html 时)

但那些只有很小的足迹恕我直言。

0 投票
3 回答
1904 浏览

unit-testing - 使用 Wicket 在单元测试中模拟后退/前进/刷新按钮

当单击浏览器的后退按钮(或前进或刷新)时,我想对我的页面的行为进行单元测试(jUnit 4)。

我可以在单元测试中以某种方式模拟浏览器的后退/前进/刷新按钮吗?是否有提供此类功能的实用程序类?

第二次编辑:

我了解 Wicket 测试工具不会模拟具有完整历史记录的浏览器。据我了解,我需要以下两件事来从单元测试中模拟浏览器的行为:

(1) Wicket 必须告诉我,当我调用WicketTester.startPage()或时发出了什么确切的请求(例如 URL) WicketTester.clickLink()

(2) Wicket 必须再次处理相同的请求,例如通过接受先前由 (1) 记录的 URL。

我想以一种兼容的方式来执行此操作WicketTesterFormTester等等,因为我在这些类中使用组件查找器、断言和更多更好的功能。这意味着我必须从 Wicket 设施发出请求,而不是从 HttpUnit / HtmlUnit / Selenium 等外部客户端发出请求。

0 投票
4 回答
321 浏览

java - 有谁知道 Wicket Web Development 的一些好的资源?

我最近从一位离职加入另一家公司的同事那里“继承”了一个网络项目。对我们来说不幸的是,他是唯一的 Java 开发人员,所以我的办公室周围没有任何人可以帮助我。

该项目是使用 Wicket 框架编写的,这不是我非常熟悉的(我已经完成了很多 ASP.NET 和一点 PHP)。我很难弄清楚事情是如何运作的......

表单的实例化似乎包括表单要操作的对象,但这是我看到的唯一参考。从 html 表单到对象的所有值更新似乎都是魔术发生的!

无论如何...我离题了...

我试过用谷歌搜索一些东西,但一切都超出了我的想象。我花了一整天的时间才在页面上获得更多控制权,而不会在加载时分页。我可能需要整个明天才能在不中断的情况下提交页面。谁能指出我的教程或非常入门级的方向?