我成功地创建了一个AjaxFallbackDefaultDataTable,但我想创建单元格链接的内容。如何使用Apache Wicket实现这一点?您可以使用AbstractColumn而不是PropertyColumn。这将允许您添加任何您喜欢的组件,而不仅仅是PropertyModel的字符串值
columns.add(new AbstractColumn("displayModel", "sortModel") {
void populateItem(Item cellItem,
我试图下载一个csv文件点击一个按钮。我有以下实现,但当我单击按钮时,我会收到一条页面过期消息
WebResource export = new WebResource() {
@Override
public IResourceStream getResourceStream() {
StringBuffer result = new StringBuffer();
for(Person person: tmp
我正试图找到一种方法,自动将面板中的链接转换为超链接。例如,用户输入是:
在这里你可以找到我的精彩例子:
在wicket中是否可以为每个节点添加锚元素http://... 文本,因此上面的示例将输出
在这里你可以找到我的精彩例子:
相反,一种方法是扩展和覆盖onComponentTagBody
比如:
public class AnchorizeLabel extends Label {
public AnchorizeLabel(String id, String body) {
我有一个链接树用于数据导航,它将替换另一个div中的组件
为此,我在树中实现了treestatelistener
public void nodeSelected(Object node) {
log.debug("nodeSelected: " + node+ " class: " + node.getClass());
Component content = new Label("content");
content.replaceWi
哪种方法更好
add(new Label("label", new PropertyModel<String>(cat, "name")));
我试图找到任何有关比较的信息。。但是什么也找不到
我如何理解第一种方法适用于读/写逻辑,第二种方法适用于只读逻辑(如果我不正确,请写信给我)。但是对于只读逻辑,哪一个更好?此版本是您提供的两个选项中更好的:
add(new Label("label", new PropertyModel(cat, "name")));
添加(新标签(“标签
我有一个表格,在表格中显示对象列表,每一行显示每个对象。因此,当用户更改值并单击submit时,我只需要处理修改过的对象,而不是所有对象。我们是否可以检查该行/对象是否已更改并仅处理该行?。如果可能,请提供详细信息。如果我愿意这样做,我会为每行提供一个带有自定义面板的列表视图。自定义面板将有一个布尔值,指示此行已更改。我将在连接到此行的每个表单组件的OnChangeAjaxBehavior中设置布尔值。
提交时,我只提交布尔值设置为true(已修改)的面板值。请提供有关实现的更多详细信息,以便我
我对同一个网格使用了两个AjaxButton,它们都不在表单中,而是附着在表单上
activateButton = new AjaxButton(ACTIVATE_BUTTON, grid.getForm())
blockButton = new AjaxButton(BLOCK_BUTTON, grid.getForm())
我的问题是尝试对每个按钮进行不同的验证,当提交表单时,我将获得所有按钮的验证,而不是只获得其中一个按钮。我将关闭默认表单处理并手动控制验证。
请参见了解每个按钮,您可
标签: Wicket
wicket-1.5wicket-1.6
我想实现两个目标:
我希望我的模型在生命周期内每次从DB加载(对于每个请求,只有一个对DB的请求)
我希望我的模型被动态地附加到页面上,wicket将为我完成所有这些可编辑的绑定
为了实现这两个目标,我得出结论,我需要同时使用CompoundPropertyModel和LoadableDetachableModel
有人知道这是不是一个好方法吗
我应该做新的CompoundPropertyModel(myLoadableDetachableModel)
是的,你是对的,可以使用
new Comp
我希望在更改时获得新的更新值,但我正在从模型中获取旧值。模型没有更新,它应该给出新的更新值。请让我知道,上述代码中出现了什么错误,以及如何获得更新值?您还应该重新渲染组件:)
final TextField<Double> regularPrice = new TextField<Double>("regular", new PropertyModel<Double>(listItem.getModel(), "price"))
{
private s
我正在构建一个由三个选项卡组成的选项卡面板。我有一个带有表单的选项卡,其中包含文本字段。当我从此选项卡导航时,无法解除此选项卡的状态。有人能建议如何绕过它吗?表格是否在选项卡面板上?如果是,则可以覆盖
org.apache.wicket.extensions.markup.html.tabs.TabbedPanel#newLink()
然后做一些类似的事情:
form.setModelObject(new EmptyObject())
或:
或:
或:
只需在特定选项卡中使用传递给#newL
标签: Wicket
wicket-1.5wicket-6wicket-1.6wicket-7
我现在正在使用wicket 1.4.9迁移到更新的版本7或6,但我无法获得wicket-.6.0/wicket-7.7.0 jar文件,在mvn存储库中只有工件id和所有给定的项目,但它不起作用,即使没有下载选项手动复制到存储库中,我使用了wicket core,util,请求导入org.apache.wicket.PageParameters,但仍然会出现编译错误,所以有任何新的jar可以替换为wicket-1.4.9jar吗 您应该使用wicket-core。如果您使用Maven/Gradl
当我在IRequestCycleListener方法转换下处理onRequestHandlerResolved()时,我正在处理Wicket 8.*迁移
根据我的代码wicket 7.15.0中的逻辑结构
public class MyRequestCycleListener extends AbstractRequestCycleListener{
//All methods override here
@Override
public void onRequestHandle
我收到了关于新wicket发行版(1.5.5)的消息,无法在中央maven存储库中添加此工件。在wicket.apache.org我看到了
To use in Maven:
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-core</artifactId>
<version>1.5.5</version&g
我们目前的webapp使用1.4.9。但我们希望升级到更高的1.4.x版本,最好是1.4.22(最新的1.4)。问题是,如果单击AjaxButton,页面将不会提交。这在1.4.9中起作用。我把断点放在那个按钮的onSubmit上,但它不在那里。对此有什么见解吗?谢谢
代码如下:
对于按钮:
public abstract class SXIButton extends AjaxButton {
public SXIButton(String id, Form form) {
s
我从wicket启动一个线程,每5秒钟刷新一个页面,检查计算出的数据是否可用。在这种情况下,将显示结果
问题是页面每5秒闪烁一次。对于firebug,我发现xml响应是
我使用AbstractDefaultAjaxBehavior和AbstractBehavior来使用Ajax,我使用的是wicket 1.4.9。flash正在刷新您的页面。您可能希望将刷新页面的行为更改为刷新将显示计算数据的组件。只要没有数据或组件不可见,就不会有明显的闪烁。顺便说一句:现在就尝试使用最新的Wicket版本,
将Wicket从版本6.12更新到6.13/6.14后,提交操作不起作用。例如,课程:
public class LoginPage extends WebPage {
private String username = "";
private String password = "";
public LoginPage() {
super();
Form<?> form = new Form<Void>("fo
我有一个自定义向导,定义如下:
<wicket:panel>
<div>
<form wicket:id="form" class="wizard">
<span class="wizardoverview" wicket:id="overview"/>
<div class="wizardheader" wicket:id="header"/>
我在web应用程序中使用Wicket,并使用无线电输入创建弹出窗口,如下所示:
<input type="radio" wicket:id="foo" />
当我点击这个单选按钮时,一个弹出窗口出现在页面上。如何在新页面或选项卡中打开弹出窗口CTRL+mouseclikc没有帮助在单选按钮上用鼠标右键单击也不会显示这样做的可能性。如果弹出窗口是指ModalDialog:那么您必须通过JavaScript打开新窗口,并打开页面,其中配置了此模式对话框以在onLoad事件期间显示
我被要求升级我们现有的一个应用程序,我在弄清楚如何更新我们的一些类时遇到了一些困难
我们有自己的CustomAjaxButton类,该类扩展了AjaxButton,其中覆盖了getAjaxCallDecorator,因此我们可以返回一个自定义DecoreOnSuccessScript等
我找到了那个。该页面确实解释了原因,但我不确定如何将其与新的AjaxButton实现结合起来,因为getAjaxCallDecorator已被删除
旧版本的代码段:
@Override
protected
我在有状态页面中使用wicket 7,每次切换到新页面时,我都会使用如下代码:
PageParameters pageParameters = new PageParameters();
setResponsePage(new SecondPage(pageParameters));
每更改一个页面,就会创建一个新的页面版本,并且页面ID会增加一个。
但当我试图加载上一页时,我从浏览器中单击“上一页”按钮,该页总是过期
我在程序中使用此getApplication时发现问题,无法加载上一页。如
标签: Wicket
friendly-urlwicketstuff
在哪里可以找到wicketstuff annotation.jar?它过去至少在Maven回购协议中可用,但现在已经不存在了,主页也没有多大帮助
具体来说,我需要org.wicketstuff.annotation.mount.MountPath,因为我想在我的Wicket应用程序中找到一种优雅的方式来装载页面。(我想知道为什么这种东西不包括在核心Wicket发行版中…)
(从任何地方下载jar都可以;我在当前项目中不使用Maven。)您可以将页面装载到应用程序中的任何位置,通常是在应用程序的i
我想要像下面这样的东西
<head>
<% if deployment == true %>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<% else %>
<script src="js/lib/ref/jquery-1.6.2.js"></script>
我有一个非常奇怪的动态表,它代表一个日常购物车。该表列出了每天可供选择的可变数量。每天可以有0个甚至n个选项。用户可以将这n个选项中的任何一个添加到其选择中。因此,选项部分和选择部分可以动态增长
+-------+-------+-------+-------+-------+-------+-------+-------+---
| THE | OPTIONS | SELECTIONS ...
| DAY +
我正在合并三个列,并在第四列中显示合并的值,我正在为合并操作应用一些规则。在某些情况下,规则将显示null值并将其显示在第4列中的任何行中,我想用红色突出显示null行
如下面所列
价值1
价值2
空(红色)
价值4
请帮助我,我在wicket框架中工作。您可以使用属性修改器。替换(“class”,IModel)。在css标记的模型中放入一个字符串,您必须将其变为红色。例如td.redbox{backgroundcolor:red}withAttributeModifier.replace(“c
我想知道是否有可能在Java代码中修改wicket组件父级的HTML代码来修改其属性,而不使其成为wicket中的组件。例如,我想从Java向li标记添加active
<li>
<a wicket:id="home" href="#">
<i class="icon-home"></i>
<span>Home</span>
</a>
<
使用wicket制作表单以产生积极反馈信息的最佳实践是什么
示例:我有一个表单,用户可以在其中请求链接以更改忘记的密码。用户将此链接发送到其给定的电子邮件地址(与往常一样)
如果用户在表单中输入他的(有效)电子邮件地址并按下提交按钮,我想显示一条正面反馈消息,如:“更改密码的邮件将发送到您的邮件地址”
我看到以下选项可以执行此操作:
使用此消息的反馈面板(作为“信息”),但使用表单的反馈面板,表单仍然存在(可能处于活动状态),这不是很好
重定向到只显示此消息的页面。仅仅为这条信息创建一个新页面
标签: Wicket
rolesbehavioruser-permissions
在我的项目中,我有几种形式,主要是下拉选择,如城市,预算类型,资金来源等。在项目中,我有用户角色,如角色08,角色27和角色51。根据用户角色的不同,my下拉选项中的数据也会发生变化。例如,如果ROLE08可以看到所有城市区域,那么ROLE27和ROLE51只能看到两个或三个城市区域。如何在架构上正确地实现该问题
我不介意如何创建用户行为、项目的用户规则和用户访问级别。我想我需要创建自己的自定义下拉选项,在这里我可以声明自定义模型数据和选择规则。谁能给我另外画一个方案,应该是怎样的 看看Wick
1分钟的布景在哪里?是小门还是雄猫?或
如何修改此选项?为确保用户的理智,保留页面映射锁的请求所需时间不超过1分钟,而不是增加超时时间。这可以通过使用像Quartz这样的作业框架并向其提交作业来完成,而不是在请求侦听器中进行繁重的处理。这样,您的用户可以快速得到答案,您的响应时间将大大缩短
超时是一种特定于Wicket的保护措施,用于防止不好的事情发生。在海事组织,这一数字应该减少而不是增加。不幸的是,许多web应用程序的请求会让用户等待10秒以上,因此很快就会出现问题。使用1分钟是明智的妥协。
在Wicket 1.4中,我使用自己的WebRequestCycle在分离页面时将其存储在会话中,以便实现“返回”链接
getRequestCycleListeners().add(new AbstractRequestCycleListener() {
@Override public void onDetach(RequestCycle cycle) {
squirrelAwayPreviousPage(cycle);
}
private void s
我有一个表单,需要在其中动态添加/删除验证器。根据下拉选择,其他表单字段可能具有不同的验证规则
对于其他类型的输入,我使用了replace(methodthattreatesInput())来摆脱以前添加的验证器。(不知道更好的方法。特别是,似乎没有任何方法可以直接从组件中删除验证器…)
使用wicket extensions的,这种方法失败的原因如下:
WicketMessage: submitted http post value [[Ljava.lang.String;@5b4bf56d]
我有一个下拉列表,我正在使用AjaxCallDecorator。目前,当您从下拉列表中选择一个地址时,我使用一些ajax对该地址运行一些检查。我使用下拉列表旁边的微调器图标让用户知道正在发生什么。下拉列表中的一个选项是“手动输入地址”。当他们选择此选项时,我不希望AjaxCallDecorator进行装饰。它不会弹出很长时间(可能是四分之一秒),但我根本不希望它出现
我不知道如何根据用户在下拉列表中选择的内容有条件地显示装饰器。getAjaxCallDecorator仅用于确定要使用的decor
[Wicket 6.6.0]
我尝试将繁忙指示器脚本从1.5.10迁移到6.6.0(基于),但我总是在ig行出现错误“Wicket未定义”。Wicket.Event.subscribe(…)
我应该手动包含任何JavaScriptReference还是Wicket自动包含?我这样问是因为我的页面源代码中没有任何Wicket JS脚本引用。您的页面中有任何Ajax行为吗?如果不这样做,则不会提供库,但是您可以调用CoreLibrariesContributor.contributor(您的应用程序
标签: Wicket
tinymce-4wicketstuff
我正在用相同的版本运行Wicket 7.5.0和Wicket Stuff tinymcr
我试图初始化tinyMce编辑器,但出现以下错误:
未能加载:
尽管如此,还是加载了小脚本:
这似乎已加载:
插件/
主题/
/tinymce-ver-1481290207000.js
编辑
这就解决了它:
添加自定义设置(“语言:\“sv\U SE\”)
以下是加载所有内容的类:
import wicket.contrib.tinymce4.settings.TinyMCESettings;
我正在用html测试以下表单:
<form wicket:id="form">
<input type="text" wicket:id="input"/>
<input type="submit"/>
</form>
但是,测试没有成功,因为该字段应为[]。知道设置不起作用的原因吗?设置FormComponents的值后,需要调用FormTester\submit()。
我正在处理wicketpage,我想在其中显示一个包含两列的动态表。
第一列应该有一个DownloadLink。第二列包含一个简单的标签。
问题是wicket显示的第一列是空的,所以我看不到downloadlink。
在这种情况下,如何向downloadLink添加标签
ListDataProvider<String> listDataProvider = new ListDataProvider<String>(filesPaths);
DataView
我有下面的AjaxEventBehavior,它被添加到特定的组件中,但实际上在整个页面中添加了一个侦听器
Behavior b = new AjaxEventBehavior("keydown") {
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
// Here I'm adding a AjaxCallListener ov
我有一堆页面,只有当用户登录时才可以访问。为了让URL有意义,也为了让用户可以为它们添加书签,我在Wicket中将它们设置为可添加书签的URL
现在问题出现了,如果用户来查看这些页面,但尚未登录。调用在我的页面上接受PageParameters的构造函数
我的方法是:
对于所有应仅可登录但可书签的页面,请在此构造函数中放入if语句以测试用户是否登录
如果用户未登录:
将(a)this.class(b)页面参数存储在会话中的特殊位置
setReponsePage作为我的登录页面
在登录页面中,
这是层次结构
父网页包含面板。网页有一个表单
add(this.form=newform(“form”,newcompoundPropertyModel(newLoginUserModel(用户))){
@凌驾
受保护的void onSubmit(){
...
}
现在在面板中,我需要从表单更新中获取更新的登录用户。在面板中,我试图通过((UserPage)getPage()).getForm().getModelObject();
但是,它没有给出更新后的logiuser值
请提供有关如何访
在我的应用程序中,wicket是客户端服务器,我遇到了一个问题,我有两种情况,wicket向服务器请求信息
阅读
更新后阅读
我需要区分这两种情况,我想要
READ_OR_READ_AFTER_UPDATE paramter = READ_OR_READ_AFTER_UPDATE.READ;
ajaxRequestTarget.add(compToRender,parmeter);
是否有方法发送组件值并处理此组件getModel内的先前调用中插入的值,或在渲染之前…我不知道我是否正
标签: Wicket
wicket-1.6wicketstuff
我正在努力做到以下几点:
我现在已经有了一份菜单,上面有几个下拉菜单。然而,在下拉列表中条目的数量变得非常大,人们必须记住某个特定页面所在的标题。我想创建一个登录页,其中将有一个搜索栏,我们可以在其中键入页面名称,我应该重定向到所需的页面
有人能给我一些关于如何进行这项工作的建议吗?谢谢 > P>可以考虑使用AutoRealEtExtField向用户显示可用的页面。然后,在用户选择页面后,您可以将他/她重定向到该页面 我认为,这不是一个让用户在某个地方键入页面名称以获取此页面的好方法(有浏览器u
org.apache.wicket.WicketRuntimeException:无法使用构造函数“public com.ecs.test.web.page.Login()”实例化页面。在构造过程中引发了异常!
位于org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:194)
原因:java.lang.NoClassDefFoundError:javax/inject/inject
位于org.
我想知道一些关于wicket支持通用模型的知识。我了解模型、道具模型和道具复合模型
但是模型课呢?如果我这样做会发生什么:
Label<Person> label = new Label<Person> ( "someID", new Model<Person>() )
Label Label=新标签(“someID”,新模型())
标签上会显示什么?toString输出
假设我在一个文本字段中有相同的内容。它将在该对象中设置什么值?Wicket的源代码有
标签: Wicket
wicket-1.5wicket-1.6wicketstuff
我的应用程序中有一个DateTextField组件,我希望使用预定义的模式输入日期。我需要的模式是“yyyy-MM-dd”。我使用以下代码创建了DateTextField
DateTextField dtf_ExpiryDate = DateTextField.forDatePattern("ExpDate", "yyyy-MM-dd");
dtf_ExpiryDate.add(new DatePicker());
它有助于防止在大多数其他格式中输入日期。但它接受dd-MM-y
我创建了一个普通链接,没有什么特别之处:
Link<Integer>link=new Link<Integer>("link") {
@Override
public void onClick() {
setResponsePage(MyTarget.class);
}
};
那么,我的链接是否总是可以添加书签?Wicket链接大多是内部链接,您无法确定生成的URL。如果您想获得可
我正在使用DateTextField编辑日期字段,
如果用户输入无效日期(例如,输入日期中插入的任何字符)
然后在提交表单DateTextField中,根据id内部创建无效的日期消息
我的代码是:
form.add(DateTextField.forDatePattern("orderStartDate", new DateModel(new PropertyModel<Date>(this, "defaultModelObject.startDate")), "dd/MM/yyyy
我有一个ModalWindow,它有一个表单,它有一个TabbedPanel,它有两个AbstractTab,每个AbstractTab上都有一个DataTable,带有输入元素
所以:ModalWindow>Form>TabbedPanel-->Tab1(面板)>DataTable(有两个选项卡)
在ModalWindow中,我添加了form 3按钮,如下所示:
// save button
final GbAjaxButton save = new GbAjaxButton(
有人知道我如何使用Wicket来完成这个任务吗
我想在一定时间内没有检测到用户活动时自动显示Wicket odal窗口。我正在考虑以某种方式使用AjaxSelfUpdateBehavior,但实际上我没有明确的想法
Wicket有可能吗 是的,你可以,我用它作为自动功能
public class MyTimer extends AbstractAjaxTimerBehavior {
public MyTimer(int seconds) {
this(Duration.
get()抛出NullPointerException
<dependency>
<groupId>org.wicketstuff</groupId>
<artifactId>wicketstuff-push-cometd</artifactId>
<version>7.0.0-M5</version>
</dependency>
org.w
当我请求一个页面时,我看到它被序列化并存储在磁盘上(和第二级缓存中),在呈现之后,也就是在分离阶段。页面本身也存储在会话中
当我再次请求页面时,它会在会话中找到。因此,不会参考序列化页面
当我在另一个会话中请求该页面时,该页面将被重新创建。我认为在这种情况下,应该使用序列化页面
因此,您能给我一个示例,一个场景,其中序列化页面从磁盘(或二级缓存)读取吗?查看此url跟踪:
将浏览器指向您的应用程序:
Wicket创建主页实例并重定向到:
再次将浏览器指向应用程序:
Wicket创建主页的
我将AjaxFallbackLink组件用于Ajax链接。当我将鼠标移到链接上时,URL看起来类似于./myPage?1-1.ILinkListener-xxx。但是,当我实际单击链接时,Ajax请求看起来像:./myPage?1-1.IBehaviorListener-xxx
Wicket JavaScript似乎以某种方式将URL从ILinkListener更改为IBehaviorListener。不知道是不是这样,为什么
有时在某些情况下,当浏览器发出请求时,URL中的ILinkListe
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 16 页