问题标签 [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 回答
678 浏览

java - 如何在衍生项目中将 jar 资源加载到 META-INF\resources 中?

我有一个核心 Web-Base.jar 文件,其中包含我在 Web 应用程序中使用的共享组件。

我正在使用 Wicket 1.5。在尝试解决问题时,我正在浏览javadoc并发现MetaInfStaticResourceReference,我认为这可以提高我的应用程序效率和简单性。

如何设置 Web-Base,以便将 Web-Base 列为依赖项的 Web 应用程序将必要的资源添加到最终 .war 文件中的 META-INF/resources/* 中?

注意:我正在使用

  • 检票口 1.5.5
  • 马文
  • Tomcat 6(刚开始考虑升级到 Tomcat 7。)
0 投票
2 回答
1869 浏览

internet-explorer - IE 总是随时间发送相同的 jsessionid(使用 Java Wicket)

我有一个在本地环境中托管的应用程序,并且遇到了一个仅在 IE 中出现的非常奇怪的问题。我测试过的其他浏览器(Chrome 和 Firefox)似乎没有重现该问题。

我正在使用 Wicket 1.5.0 快照。

在应用程序中,我有一个调度页面,它验证初始请求并在验证后采取进一步的行动。在里面我有:

并且在调用 MyCustomSession.get() 的 Canvas 页面中,它为每个请求返回一个全新的会话,这会导致问题,因为我之前放入会话中的所有数据都消失了。

然后我追查了问题,在我看来,IE 总是在请求标头中发送相同的 jsessionid,无论如何 - 8302844E8BB8FD6D1A617C0E6A2C58C3。

在 setResponsePage(Canvas.class, pageParams) 的响应标头中,状态码为 302,我看到响应标头如下:

无论如何,来自 IE 的所有下一个请求都具有该标头字段(与以前相同的会话 id):

请帮助我解决这个问题,因为它真的让我很困扰。谢谢!

0 投票
1 回答
548 浏览

jquery - ajax更新列表后没有更新jquery样式

我正在使用检票口更新列表。列表将被更新(发出 ajax 请求,发送响应并更新列表)。到目前为止,一切正常。

更新列表后,我调用 javascript/jquery 方法 $('ul').listview('refresh') 来(重新)添加所有必要的 jquery 样式。但这不会发生。(更新的)列表将无样式显示。

有什么想法,我错过了什么?

html部分:

java部分(列表的初始化):

最后是列表的更新(在 AjaxButton 的 onSubmit 方法中):

0 投票
1 回答
1582 浏览

httpresponse - 通过 Wicket Link 通过 HttpServletResponse 发送 BIRT 文件会导致 IllegalStateException

在我的 Wicket Link 中的某个地方,它调用了一个实用程序,该实用程序提供了一个由 BIRT 生成的报告文件,我得到了一个 IllegalStateException。

从 Wicket 页面:

从 ReportUtility.java:

如果重要,createReportFileName 方法会将今天的日期和正确的文件扩展名附加到报告设计文件的基本名称,即“myFileName.rptdesign”变为“myFileName_04_24_2012.pdf”

这是 statck 跟踪:

重要的是要说明这不会影响操作:用户单击,打开/保存/取消出现,文件来了,看起来很漂亮。然而,在 ward 之后,无论用户接下来尝试做什么,都会向我们的错误页面发送 StalePageException。之后,一切又恢复正常。

我怀疑这涉及到 HttpServletResponse,或者我是如何从 Wicket 获取它的。但是,我将文件添加到带有标题的响应的那部分代码几乎完全是从 BIRT 的教程中复制的。(也许 BIRT 和 Wicket 只是不喜欢对方。)

我注意到我自己的代码都没有显示在堆栈跟踪中。此外,我尝试在少数几个地方“捕获” IllegalStateException,包括 onClick、serveFile 甚至我的 Wicket 应用程序,但均未成功。当然,即使我能抓住它,我也宁愿一开始就没有引起它。

0 投票
1 回答
762 浏览

java - 在 Wicket 应用程序中分离语言和格式区域设置?

我们的 Wicket 应用程序需要每个用户单独的 UI 语言和数字/日期格式区域设置(例如英语的 UI,数字和日期格式:德语)。

如果您将会话区域设置为 Locale.GERMAN,您将获得德语数字和日期格式以及德语资源(例如 MyForm_de.properties)。

我们通过将会话语言环境设置为数字和日期语言环境来解决此问题,然后使用自定义 ComponentStringResourceLoader 加载字符串(返回 super.loadStringResource(clazz, key, language != null ? new Locale(language) : locale, style, variant ))。但是,看起来字符串正在被缓存,因为如果我以不同的用户身份登录,我就会开始混合使用多种语言。

任何人都知道控制缓存(假设导致问题)?注意:我不想阻止缓存(因为这可能会损害性能)。我想我想覆盖缓存行为,以便它与我们的自定义资源加载器一起正常工作。

还是有更好的方法来解决这个问题?

这是我们用于自定义 StringResourceLoader 的代码。

这是设置会话区域设置的代码(用于数字和日期格式)。

0 投票
1 回答
648 浏览

java - 我如何知道用户是否已将页面留在检票口中?

我正在寻找一种方法来了解用户何时离开页面并且没有保存更改然后显示检票口的模式(最好但可以是确认框)。

附加信息:解决方案对代码的影响应该很小,因为我有大约 30 个页面会有这种行为,实际上我所有的网页都从一个叫做 LayoutPage 的页面扩展而来,类似于这个

我在这个问题中尝试了纯 JavaScript 解决方案,但是应用程序通过 AJAX 请求发送了大量数据,所以我无法确定一个很好的方法来了解数据是否已发送到服务器

当我开始查看Form.classWicket 的源代码时。它有一个很好的方法,叫做isSubmitted(); 如果我能够从检票口知道用户是否即将退出页面,我可以使用它。

我不想为系统中的每个页面编写验证。

0 投票
1 回答
715 浏览

java - 不错的网址:Wicket 1.5 mountPage

我正在使用 Wicket 1.5.3 并在扩展的 WebApplication 类中注册主页,HomePage.java漂亮的 URL 为:

结果是一个 URL:http://localhost:8080/MyApplication/app/home?1

“?1”是从哪里来的,我该如何删除它?

如果我希望 URL 为http://localhost:8080/MyApplication/app/home,那我该怎么办?

提前致谢。

0 投票
4 回答
1289 浏览

java - 码头上的检票口:无法保存带有 id 的页面

我在 Jetty 服务器上部署了我的 Apache Wicket 应用程序,每次打开 Wicket 页面时,我都会在我的码头日志中看到以下错误:

知道出了什么问题吗?Unix 权限设置正确。我什至尝试过 777 但没有成功:(

0 投票
0 回答
663 浏览

wicket - 如何在 Wicket 1.5 中重置响应

在 wicket 1.4 webResponse.reset() 中清理缓冲区。但是在 wicket 1.5 中留下了某种垃圾。

回复:

然后我的有效json如下。

0 投票
1 回答
2674 浏览

java - 将 CSS 资源添加到 Wicket Web 应用程序

我想简单地将我的 css 资源添加到网页中。我有一个 BasePage 类,所有派生的网页都将共享相同的 css 样式。我如何以最简单的形式将 CSS 应用于网页?

这些是我根据教程发现并尝试做的*:

检票口版本是 1.5.3。我使用 NetBeans 及其插件。

请考虑到我是 Wicket 和 Web 的新手。感谢您的回答。