作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图创建一个带有用户名的链接(即动态数据),但无法让 StringResourceModel
与 Link
一起使用。
我的代码看起来像这样:
属性:
some.key=User name is: {0}
Java:
StringResourceModel model =
new StringResourceModel("some.key", this, null, new Object[] { getUserName() });
add(new Link("someid", model) {
@Override
public void onClick() {
// do something ...
}
});
HTML:
<a wicket:id="someid">some text to replace</a>
但是,这不起作用,即文本从未被替换。
我尝试了不同的方向,它确实有效,看起来像这样:
Java:
StringResourceModel model =
new StringResourceModel("some.key", this, null, new Object[] { getUserName() });
Link link;
add(link = new Link("someid") {
@Override
public void onClick() {
// do something ...
}
});
link.add(new LabeL("anotherid", model));
HTML:
<a wicket:id="someid"><span wicket:id="anotherid">some text to replace</span></a>
(属性文件相同)。
我的问题是,我是否正确地假设 StringResourceModel
不能与 Link
一起使用(我称这是一个假设,因为我没有看到任何关于这在 JavaDOC 中)?
如果没有,StringResourceModel
如何直接与 Link
一起使用,而不需要中介 Label
?
最佳答案
Link
构造函数中的 model
参数并不打算用作显示值。要设置链接的文本,您需要向其显式添加 Label
:
Link<Void> link = new Link<Void>("link");
link.add(new Label("label", model);
add(link);
在 HTML 中:
<a wicket:id="link"><span wicket:id="label"></span></a>
构造函数中的模型旨在在 onclick 方法(或类似方法)中使用。例如(来自 JavaDoc):
IModel<MyObject> model = ...;
Link<MyObject> link = new Link<MyObject>("link", model) {
public void onClick() {
MyObject obj = getModelObject();
setResponsePage(new MyPage(obj));
}
};
add(link);
关于java - StringResourceModel 仅适用于标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24989155/
我试图创建一个带有用户名的链接(即动态数据),但无法让 StringResourceModel 与 Link 一起使用。 我的代码看起来像这样: 属性: some.key=User name is:
这是我的资源 key : Expired {0} days ago 这是 StringResourceModel 的定义: new StringResourceModel("store.expired
我是一名优秀的程序员,十分优秀!