我们有一个“静态”,非wicket CMS网站,我们希望在其中一个静态页面中包含一个动态wicket页面/组件。我们的想法是使用jQuery的load()方法加载内容。并在标题中包含wickets ajax js文件
这或多或少奏效了。但是为了让它工作,页面的基本url必须重定向到wicket服务器的ajax端点
我们最新也是最好的解决方案是将页面包含在iFrame中。
还有更优雅的方法吗?我们有一个类似的方法,但是我们使用了与您完全相反的方法。我们通过Wicket包含静态内容的html片段,并
我有一个关于wicket应用程序的问题
getApplication()和getSession()之间的区别是什么
部署wicket应用程序时,运行它的所有用户是否共享wicket应用程序对象?还是每次用户点击页面时都会创建一个单独的实例
对于Component.getApplication(),通过调用Application.get()通过threadlocal获取并返回应用程序对象。另一方面,getSession().getApplication()首先检索会话对象,然后委托给同一个应用程序
我有单页应用程序(全部是AJAX),因此不需要页面版本控制。所以我做了setVersioned(false)。但是,页面仍然在每个AJAX请求上序列化,我想知道为什么
我使用的Wicket版本是:7.6.0
WicketApplication.java
public class WicketApplication extends WebApplication {
public Class<? extends WebPage> getHomePage() {
r
如何在AjaxRequest期间刷新Wicket模式对话框中的表单?我需要在两个文本字段中写入两个字符串,并通过单击表单中的按钮来更改选项卡中的列表。连接到文本字段的模型由PropertyModel定义,而列表连接到LoadableDetachableModel只需在AjaxRequestTarget中添加这些表单组件和选项卡面板即可。
例如:target.addComponent(textField1) 我试着整理一下你的帖子,但是如果你想要一个好的答案,你必须提供更多的细节(可能是以代码的形
我们是否可以附加脚本,首先显示是\否确认弹出窗口,然后如果用户选择是,则继续保存逻辑
注意:我希望在提交按钮内弹出确认窗口
像
提交时受保护的void(AjaxRequestTarget目标,表单){
是\否确认
取决于下一个逻辑的选择移动。。。。。。
}
这展示了一些使用Wicket实现这一点的方法,适用于各种版本
编辑:
为了根据响应决定逻辑,在上面提到的页面上使用面板替换(标记为而不使用Javascript)可能是最好的方法。当然,面板更换过程中确实涉及到JavaScript,但它都是由W
最近,我需要根据各个子组件的可见性来确定组件的可见性(如果至少有一个子组件可见,则容器应该可见)。
由于我正在各自的onConfigure()方法中设置每个组件的可见性,我无法使用此方法来满足我的需要。所以我切换到onBeforeRender方法,并在那里完成了工作->效果很好。
在那之后,我想将其提取到一个行为中,因为它更易于重用。但我仍然不能使用onconfigure方法,我尝试了相应的beforeRender方法。但是现在wicket抛出了一个异常
“渲染阶段开始后无法修改组件层次结构(页
我在使用嵌套存储模块时遇到了一些问题,我想知道这是否是我的代码中的一个错误,或者我正在尝试的使用是否只是本机不支持
比如:
<wicket:enclosure child="primary">
<wicket:message key="primary.select">Primary Server</wicket:message>
<select id="primary" wicket:id="primary"></select
我们可以使用javascript的本地存储
但是wicket是否提供了有助于本地存储的类
在GWT中,我们可以直接编写
Storage.getLocalStorageIfSupported().setItem("user", result.getUserName());
那么wicket是否提供了类似的功能呢?wicket没有现成的功能。从服务器端添加这样的支持是需要做一些工作的:Wicket主要是一个服务器端框架。您可能可以使用appendJavaScript方法将本地存储事件附加到Ajax
我想使用ApacheWicket向AjaxEventBehavior中的组件添加AttributeAppender。行为有一个getComponent()方法,但在构造函数中getComponent()显然返回null
现在,我将组件传递给AjaxEventBehavior的构造函数,它正在工作,但这是实现我的目标的好方法吗
以下是我正在做的:
AjaxTooltipBehavior:
public class AjaxTooltipBehavior extends AjaxEventBehav
我的页面上有DropDownChoice和DataView。DataView应根据在DropDownChoice中选择的项目显示数据。我怎样才能做到这一点
多亏了PropertyModel,我可以用一种非常简单的方式更改标签的文本。DataView有som方法吗?不是真的在寻找ajax刷新。非常感谢您的DataView使用DataProvider获取要显示的值。如果将数据视图(或其父级)添加到AjaxRequestTarget中,它将从数据提供程序中重新提取值。您只需确保更改下拉选择中的选择将更
在我的wicket项目中,我必须在响应中添加cookie。因此,我生成了一个新的cookie并将其添加到WebResponse
import javax.servlet.http.Cookie;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.http.WebResponse;
...
WebResponse webResponse = (WebResponse) Req
我只是想知道如何在ApacheWicket中为图像src指定一个动态url。
我只是想
新的StaticResourceReference(“图像/按钮/“+文件名+”.gif”)
但我找不到这样一个班级或一个地方。似乎有一些丑陋的变通办法,就像上面提到的那样
我真的无法想象像wicket这样的流行框架不容易支持动态相对/绝对URL(还可以考虑外部资源/URL…)
我错过什么了吗?
谢谢大家! 如果您只需要动态文件名,请尝试以下操作:
html:
(“images/buttons/filenam
我不熟悉web开发,但对Java和Python都很熟悉。在我开始使用Java进行web开发的实验时,我发现了ApacheWicket;大约在同一时间,我还发现了Jython(v2.5)。我想知道是否有一种集成Wicket和Jython的方法,这样我就可以编写Jython脚本而不是Java类来使用Wicket。到目前为止我还没能做到
想法?我不明白为什么不。
有很多人使用Scala语言成功地使用了Wicket。它应该与Jython、JRuby、闭包等相同。。。
参见Scala的例子。我不熟悉Apa
当表单组件的验证失败时,我试图使文本字段出错。
我正在将一个“error”值添加到我的textfield类属性中,使其变为红色
为此,我覆盖表单上的onValidate()方法,并删除组件以查看它们是否有错误
@Override
protected void onValidate() {
super.onValidate();
Iterator<Component> compIter = iterator();
while(co
嗨,我正试图在两个面板之间导航。我的代码有一个条件,如果为false,它必须返回到带有参数的实际面板,该参数反过来在feedbackpanel中打印错误消息
当条件为真时,我得到这个错误
SearchInnerPanel.java:
(TabPanel1.this.getParent()).getParent().replaceWith(new JobDetails("innerpanel", params));
org.apache.wicket.WicketRuntimeExceptio
我的应用程序具有顶层菜单和上下文菜单,用于显示特定报告详细信息的页面。单击此关联菜单图标,我将获得一个包含某些操作的关联菜单,如下所示
现在的问题是,每当我单击此关联菜单而不执行任何操作(未从该关联菜单中选择任何操作)时,顶级菜单将被冻结。我需要刷新页面以使其正常工作。我使用下面的wicket代码处理上下文菜单上的操作-
单击上下文菜单时,操作将为空,单击删除、编辑或复制时,操作将转到else循环。若它进入else循环,我很好,因为页面将被导航到另一个页面,并且顶级菜单工作。在调用schedul
我试图理解ApacheWicket 9.1文档中关于CSRF保护的内容
我不完全确定CSRF保护是否在默认情况下为操作启用?或者,这是否要求我在我的WicketApplication中引入ResourceIsolationRequestCycleLister,并且仅在该操作受到CSRF保护之后
@Override
protected void init() {
super.init();
getRequestCycleListeners().add(new ResourceIsolat
我在Wicket找不到任何etags支持的痕迹。有一种方法可以使用ETag吗?不,没有ETag支持。Wicket不是用来提供静态内容的。如果您必须为许多静态资源提供服务,那么除了Wicket之外,您还可以使用另一个框架,如SpringMVC
Wicket通过强大的缓存机制支持缓存。资源被装载到URL上,URL在开发模式下包含文件的时间戳,在部署模式下包含MD5哈希。这使得资源具有唯一性,并且可以永久缓存,因为如果内容更改,URL也会更改。Wicket会自动将Expires标头设置为自当前日期起一
最近维克特又给我出了一道题。在普通的web应用程序中,我们所做的只是在web中声明会话超时。xml,它对我们来说很好。但是在wicket中,在web.xml中指定会话超时不再有效。但是我的申请非常需要暂停会议。此外,我不能为每个类执行Ajax行为或Ajax计时器来检查会话超时。这就是为什么我需要一些方法来实现会话超时,以使我的程序正常工作。感谢您的帮助
我的wicket版本是6.3.0。wicket根本不管理会话持续时间。我认为您错误配置了servlet容器。试着用一个空的Wicket项目来验证
我有一个元素列表,在模板中定义为:
<dl>
<wicket:enclosure>
<dt><wicket:message key="numberTitle" />:</dt>
<dd wicket:id="objectNumber">1</dd>
</wicke
我在一个现有的项目上工作,以前没有wicket方面的经验
应用程序有一个包含四个选项卡的页面。假设前三个选项卡每60秒重新加载一次。最后一个选项卡是我正在处理的,我不希望它永远重新加载。我找不到重新加载的代码在哪里
当用户创建UI的视图源时。我看到这样的东西
Wicket.Event.add(window, "load", function(event) {
Wicket.TimerHandles['id135'] = setTimeout('Wicket.Ajax.ajax({\"c\":\
我最近刚到这里。我对Apache Wicket Framework 1.6.0版使用IDE netbeans 8.0创建登录表单并连接mysql数据库有一个问题。我有很多错误,请回答我的问题。Wicket是非托管UI框架。无法使用Wicket连接到数据库
您必须使用任何其他方式连接到数据库
以下是一些可能有用的步骤:
1.学习用Java访问数据库
2.从数据库中获取的进程信息
3.使用ApacheWicket向用户显示从数据库获得的信息。在您的情况下,若用户被授权,则重定向到其他页面
我对维克特不熟悉。模型、ModelObject defaultModel和genericModel中存在混淆。我需要知道ModelObject和Model、defaultModel和genericModel之间的区别。请帮我澄清一下。defaultModel[Object]和genericModel[Object]在幕后是同一个对象
每个组件都有一个IModel,该模型在其中包含一个java.lang.Object。这是defaultModelObject
组件的一些专门化,如FormCompo
当我在公共HttpServlet中使用@EJB注释通过远程接口访问无状态EJB时,它工作正常:
public class ListMsgs extends HttpServlet
{
@EJB
private Msgs msgsRI;
...
protected void processRequest(...) ...
{
List msgs = msgsRI.getAll();
...
}
...
}
但是,当我在Wicket网页中尝试相同的事情时
我有一个问题,我试图在图片中解释。我希望这将有助于所有人了解我需要什么。
我的基本页面如下所示(menunvapanel是树面板):
现在,如何从父页面的树面板传递unitObject参数来调用子页面的bodyPanel
我能表达我的问题吗?希望得到一些帮助:)我不确定我是否正确理解了这个问题。您的BasePage使用TreePanel定义了一个左列,并允许子类在右列div中展开自己。您通常将BodyPanel放在BasePage的子类中。现在,您想在树面板上的某个事件上调用车身面板的方法
您
我有一个相当复杂的表单,表单字段的数量是flexibel。简而言之,模型对象是一个TLabel TranslationLabel,其中包含值转换的映射。这里的语言是一个枚举,因此其思想是为其提供翻译的字段和文本区域的数量取决于此枚举中的值
这是我的简化表格:
公共类TranslationEditForm扩展了表单{
private final static List<Language> LANGUAGES = newArrayList(Language.values());
pub
我正在迁移一个wicket 1.4应用程序,该应用程序在webapp上下文目录下有大量js、css和en图像:
src/main/webapp
+js
++plugin1.js
++plugin2.js
+app
+css
e、 t.c
在我们的应用程序中,我们使用了
getHeaderContribution(“js/plugin1.js”)
新的wicket 6实现没有此标头贡献方法。相反,您应该使用:
forReference(新的JavaScriptResourceReference(
我想像这样处理对图像资源的请求:
键“images”是本地硬盘上某个位置装载的资源的别名:
/base/path/to/all/images
它包含子目录
sub/path/to
其中请求的图像
myImage.jpg
位于。
因此,完整图像路径为:
/base/path/to/all/images/sub/path/to/myImage.jpg
我已尝试使用以下方法装载请求映射器:
public void WebApplication#mount(最终IRequestMapper映射程序){
我有一个ajax按钮和一个链接:
AjaxButton buttonA = new AjaxButton("buttonA") {
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit(AjaxRequestTarget target) {
info("buttonA");
}
}
Link&
我被卡住了!!!我在wicket中做的一个应用程序需要使用富文本编辑器。我设法使用visural rte,并将rte中的数据存储到数据库中(数据存储在rte中生成的html标记中)。检索数据时,可以通过设置DefaultModelObject在RTE中很好地渲染它。我的问题是,我想根据某些条件以编程方式将此RTE设置为只读,但我不能。我感觉这个可视化rte不符合基本的wicket功能,如setenabled等,我感到沮丧。我选择获取数据并使用多行标签进行渲染,但它显示所有内容以及html标记。有
除了Firefox3.6.x之外,以下代码似乎在我尝试过的所有浏览器上都能正常工作
发生的情况是,在无效电子邮件地址的每个键上,我都会看到一条重复的错误消息。这意味着错误消息很快就会在页面上展开
我是否错过了什么,或者只是Wicket或Firefox3.6中的一个bug?这是Wicket 1.4.x的版本-我刚刚升级到1.4.18,希望它在那里得到修复,我还尝试了一些旧版本的1.4.x,以及最新的5.1 RC
package com.mycompany;
import org.apache.w
我正在开发一个包含许多不同组件的Wicket 1.5 web应用程序,我很想让用户在不同的主题之间进行选择(这意味着更改某些组件的CSS样式)。因此,在某种程度上,我会将所选主题与用户会话相关联
我的问题是,在Wicket做这件事的最好方法是什么
现在,我的组件如下所示:
public class SingleLayout extends Panel {
public static final CssResourceReference CSS = new CssResourceRefe
我发现了很多关于如何在wicket中创建back按钮的例子,但是wicket 1.4和更低版本中使用了getPageMap。wicket 1.5中没有此功能。我知道有一些js特性,比如window.history.back()或history.go(-1),但我想实现一些清晰的解决方案。有什么想法吗
我的想法是将网页作为堆栈存储在我自己的网页中。这个好吗
public class TournamentSession extends WebSession {
protected final Lo
我正在为共享包配置IInitializer。我有几个挂载点,它们在应用程序中基本相同。我想在我的IInitializer中装载它们,但前提是我的应用程序尚未装载它们
因此,给定Foo.class或“/bar”作为所需的装载点,我如何检查装载点是否已被占用?我不相信Wicket的任何版本都内置此功能。您可以轻松地将该功能构建到WebApplication的子类中,然后您的所有应用程序都可以扩展该子类
基本过程是在调用supermountPage之前或之后,重写内置的WebApplication方法
我有一个问题,一个Wicket组件在内存中存在多长时间来记住它以前的状态。有时间限制吗?例如,会话超时约20分钟。。。?如果发生这种情况,当有大量用户(比如100万用户)访问服务器时,wicket会保持稳定还是内存不足?如果可能,请解释wicket中请求的内部处理。wicket中的组件仅作为页面组件树的一部分存在。一个有状态的页面将在会话期间保留,因此它的组件将同样存在
但是:默认情况下,只有最近呈现的页面实际位于会话本身中。旧页被异步序列化并存储在磁盘上。这些旧页面很少需要,只需在请求时再次加
我已从Wicket站点复制了支持在运行时添加项的ListEditor组件:
public abstract class ListEditor<T> extends RepeatingView implements IFormModelUpdateListener {
List<T> items;
public ListEditor(String id, IModel<List<T>> model) {
super(id, model);
我有Wicket表单和ProjectNameValidator类:
@Inject
ProjectDao dao;
public ProjectNameValidator() {
CdiContainer.get().getNonContextualManager().inject(this);
}
此处的注入是因为@Inject注释仅在Wicket组件或行为中工作,此处为null,没有CdiContainer.get().GetNonCTextUALManager(
我已经创建了一个复合行为——基本上是两个AjaxFormComponentUpdateingBehavior(onBlur和onKeyUp)。可从以下网址获得:
在呈现添加了此行为的组件时,我得到一个异常,指出“[the]Behavior_uu]未注册到此组件”。当从行为的onComponentTag()中调用blur.onComponentTag()方法时,会发生异常
有人知道这是为什么吗?我应该提到我正在使用Wicket 1.4.21
谢谢
异常源于RequestCycle#urlFor()
使用SetResponsePage,如何添加所需页面的页面版本?例如,第三个例子
谢谢。您是否将构造器不需要wicket id的wicket页面与必须提供wicket id的面板混淆了
setResponsePage本身接受具有可选PageParameters的类或作为参数的实例:
setResponsePage(DestinationPage.class);
setResponsePage(DestinationPageWithPageParameters.class, new PagePar
我在Wicket表单中创建了一些电话号码字段。没有自动制表符,它们工作正常。将tab auto添加到HTML中时,需要几秒钟才能显示输入的新值。解决此类问题的最佳方法是创建一个“”来演示您的问题并将其发布
我在Wicket中有一个包含链接的模态对话框。我需要通过点击链接打开一个外部网页(例如)。链接的目标是动态设置的。我该怎么做
我想我的问题不是很清楚(我为此道歉)。我需要从模式对话框打开网页。实际上,我可以在@Don Roby向我推荐的模态对话框示例(wicketstuff.org/wicket14/ajax/modal window.0)中解释这个问题。如果单击示例中的“显示带页面的模态对话框”链接,将显示另一个名为“打开另一个模态对话框”的链接的模态对话框。通过点击那个链接,我想打开这个网
我最近从Wicket 7.x升级到了8.1.0,我想知道一些ClientProperties方法会发生什么,这些方法现在被标记为@Deprecated,没有提示它们为什么会这样或会怎样。
《迁移指南》也没有提到它们。
我发现引入了这些更改,但无法追溯到Jira的故事(WICKET-6544是关于buggy用户代理检测的,我看不到这里的链接)
那么这项功能会变成什么样子呢?它会被删除而不被替换吗?谢谢你的问题:用户代理检测确实在Wicket 8中被弃用,并将在Wicket 9中被删除
我已经更新了
我正在使用wicket 1.4版本,并且正在使用datatables和ajax复选框:
我可以在html上呈现复选框。当我单击复选框时,ajax onUpdate方法也被调用,但它没有为所选复选框提供正确的值,即此.getModelValue()始终拾取表行的第一个值
我在这里错过了什么
add(getMyDynamicTable("myTable", provider, 10));
protected CustomDataTable<MyClass> getMyDynamicTa
首先,请看一下本例中如何使用IModel:
@SuppressWarnings("serial")
public static List<IColumn> getTableColumns(
final ReportParams reportParams, final boolean columnsSortable
) {
List<IColumn> columns = new ArrayList<IColumn>();
对不起,我的英语不好
我有两个班级简介和编辑简介
两个班我都有
protected void addContent(PageParameters pageParameters) {
final String email = pageParameters.get(ListUser.USER_EMAIL).toString();
final User loggedUser = getLoggedUser();
if (email == null) {
我正在使用wicket 1.4.17和IE8。我面临一个问题,主页构造函数被调用了两次。我读到一些其他线程,这是由于标签。我已经处理了这个图像标签,但仍然看到了问题
请建议如何解决这个问题
请提供您对这个问题的看法。我有一个url参数,我需要从我的主页上进一步传递它。但是,由于我的主页构造函数被调用了两次,我无法读取url参数(对构造函数的第二次调用没有任何参数)看起来您可能已经尝试在Web应用程序中放置:
@Override
protected void init()
{
super.in
如何在Wicket中实现多选下拉。我能够使用引导创建多选下拉视图,但我无法获得如何将所选选项与下拉组件的IModel关联?维克特有没有可能?我不想使用ListMultipleChice。这里是一个示例代码
{
private IModel<List<? extends String>> statusChoices;
private DropDownChoice<String> status;
private String statusFilter = "
我有一个模型对象,它有一个接受字符串的getter/setter
public String getStringValue(String key)
我需要知道是否可以将该getter与PropertyModel一起使用,如果可以,我该怎么做?示例可能如下所示:
new PropertyModel<String>(myObj, "StringValue[key]");
newpropertyModel(myObj,“StringValue[key]”);
没有内置的方法可以做到这一
用导叶
如何将var幻灯片计数器发送到Wicket
有人能举个例子吗
我找不到有关这方面的更多信息
$(document).on('click', '.lean-overlay', function() {
var slideCounter = 0;
// TODO Send slidecounter to wicket
});
发送请求非常简单:Wicket.Ajax.post({“u”:“the/url?slideCounter=“+slideCounter})
更复
大家好,我和wicket有个小问题,我是wicket世界的新手,请帮助我:
标记需要向表单的子级输入标记添加标题
html如下所示:
<div class="arena-record-button">
<form wicket:id="showEditReservationPanelForm">
<input class="arena-input-submit" type="s
上一页 1 2 ...
4 5 6 7 8 9 10 ...
下一页 最后一页 共 16 页