如果我写
<form wicket:id="form" id="form>
Run Code Online (Sandbox Code Playgroud)
甚至
<form wicket:id="form>...
Run Code Online (Sandbox Code Playgroud)
然后,呈现的HTML显示每当刷新页面时附加不同数字的id"形式",例如
<form id="form7"....
Run Code Online (Sandbox Code Playgroud)
有没有办法禁用Wicket框架的这种行为?
我有一个关于Eclipse,Wicket,Spring,Hibernate的项目.除了:当我尝试时,每件事都是正常的
public class SortableContactDataProvider extends SortableDataProvider<User>
{
@SpringBean
private Service service;
public Iterator<User> iterator(int first, int count)
{
//SortParam sp = getSort();
return service.findAllUsers().subList(0, 15).iterator();
}
...
Run Code Online (Sandbox Code Playgroud)
服务变量是null?在我使用这个构造的任何其他地方,"服务"不是空的并且运行良好.请帮我解决这个问题.
什么是最简洁的方法,我可以使一个复选框自动提交它所属的Wicket表单?我根本不想要包含提交按钮.该复选框由域对象中的布尔字段(在本例中为"帐户")支持.
省略了不相关部分的简化示例:
EntityModel<Account> accModel = new EntityModel<Account>(Account.class, id);
PropertyModel<Boolean> model = new PropertyModel<Boolean>(accModel, "enabled");
CheckBox checkBox = new CheckBox("cb", model);
Form form = new Form("form");
form.add(checkBox);
add(form);
Run Code Online (Sandbox Code Playgroud)
HTML:
<form wicket:id="form" id="form" action="">
<input wicket:id="cb" type="checkbox" />
</form>
Run Code Online (Sandbox Code Playgroud)
编辑:为了澄清,我的目标只是在切换复选框时更改域对象的字段( - >数据库中的值).任何(干净,简单)实现这一目标的方法都可以.(我不确定你是否真的需要这个表格.)
我正在使用Apache Wicket实现一个简单的降价维基.维基通常会根据用户输入的内容呈现任意HTML.
我对哪个Wicket组件最适合呈现这样的任意HTML感到困惑.
我尝试了Label组件,但它没有正确呈现列表,MultilineLabel(放置中断而不是常规列表HTML)也没有.
谢谢你的帮助.
更新: Label组件完美运行.我的错误是我无法让它早点上班.这是一些糟糕的样式表和深夜编码的组合.谢谢你的回答.正如所建议的那样,我还要查看一些WYSIWYG编辑器,这些编辑器实际上可能比降价更好.Visural Wicket似乎特别有前途.
我怎样才能打开一个模态对话框PageLoad()
,在的构造WebPage
和没有AjaxRequestTarget
,使用Wicket?
JSP支持<%-- comment --%>
注释语法,这是一种注释标记代码的方法,使得它不会包含在发出的HTML中.
在Wicket有办法做到这一点吗?
我正在将应用程序转换为在其所有页面上使用i18n/l10n.我对Wicket对此的支持感到非常满意,到目前为止一切顺利.我遇到的一个棘手问题是:
我们有一个文本文件,用作HTML模板,用于在用户在网站上执行某项操作时发送电子邮件.当用户单击特定链接时,我手动读取此模板,执行一些文本替换"Dear $USERNAME"
,并将结果作为HTML电子邮件发送给用户.
为了支持我们目标的10种左右的语言,我要么必须维护这个模板文件的10个副本,要么想办法使用Wicket的内置i18n支持渲染这个"页面",抓住结果作为字符串,然后发送它.
因此我的问题是:如何以编程方式"呈现"Wicket页面并将结果作为字符串获取?
如果可能的话,我宁愿避免像使用HttpClient这样的黑客攻击; HttpClient不会有用户的Locale,也不会以用户等身份自动登录,这对我来说似乎不是一个好的解决方案.
我有一个DropDownChoice如下:
final DropDownChoice<Term> terms = new DropDownChoice("terms", new Model<Term>(), new Model(new ArrayList(termDao.findAll())), new IChoiceRenderer<Term>() {
public Object getDisplayValue(Term object) {
return object.getIdentifier();
}
public String getIdValue(Term object, int index) {
return object.getId().toString();
}
});
Run Code Online (Sandbox Code Playgroud)
我想要"全选"而不是"选择一个".我怎样才能做到这一点?
我一直在四处寻找,我找不到将我自己的CSS添加到Wicket网站项目的虚拟指南.但在我开始之前......我对正确的java开发相当新,所以当我说"Dummy的指南"时,我的意思是真的!这里简单明了的解释非常感谢!
我从这里开始使用这个指南(http://wicket.apache.org/start/quickstart.html)并且运行正常.接下来,我想添加自己的CSS并开始搞乱它.而且我无处可逃.主要是因为我不知道如何在java中做到这一点(我来自C#/ asp.net背景).
无论如何,那些了解Apache Wicket的人都会知道这一点,但是快速入门的来源会在如下的地方创建你的代码 project/src/main/java/com/xyz
我猜想我能做的就是在这里添加一个CSS文件夹...所以我创建了一个示例CSS,我把它粘在这里:
project/src/main/java/com/xyz/css/conor.css
(containing something real simple like the following)
h2 {
font-family: tahoma;
}
Run Code Online (Sandbox Code Playgroud)
然后我删除了我的homepage.html中的Wicket默认css并将其更改为引用我的如下:
<link rel="stylesheet" href="css/conor.css" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
但是我的页面没有注意到conor.css ...显然我做错了什么,但找不到java虚拟(也就是我!)的分步指南.
我已经阅读过你需要为eclipse安装web工具的内容.我不知道这对我有什么用处,或者为什么它会指示我的页面使用CSS.
很感谢任何形式的帮助!
是否可以使Wicket DataTable的整行可点击?如果是这样,怎么样?我已经看到了如何通过扩展PropertyColumn类来使单元格可单击的示例,这非常简单但无法找到整个行的简单解决方案.
谢谢
wicket ×10
java ×7
checkbox ×1
clickable ×1
comments ×1
css ×1
datatable ×1
form-submit ×1
html ×1
identifier ×1
label ×1
list ×1
modal-dialog ×1
spring ×1