Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 何时可以在Wicket Ajax选项卡面板中使用getString()?_Java_Jquery_Ajax_Wicket - Fatal编程技术网

Java 何时可以在Wicket Ajax选项卡面板中使用getString()?

Java 何时可以在Wicket Ajax选项卡面板中使用getString()?,java,jquery,ajax,wicket,Java,Jquery,Ajax,Wicket,Wicket 7.3和JQuery 2.1.4有以下问题: 在动态选项卡式面板(添加和删除选项卡)中,我希望本地化选项卡标题并添加工具提示。我的代码 JQueryGenericPanel() { .... populateItem( ListItem<ITab> item) { getString(); 不行,因为太晚了。标签已设置为“懒惰” 有没有其他类似于“populateItem()”的方法可以使用 **附录** 选项卡式面板的代码为: public class

Wicket 7.3和JQuery 2.1.4有以下问题:

在动态选项卡式面板(添加和删除选项卡)中,我希望本地化选项卡标题并添加工具提示。我的代码

JQueryGenericPanel() {
....
  populateItem( ListItem<ITab> item) {
    getString();
不行,因为太晚了。标签已设置为“懒惰”

有没有其他类似于“populateItem()”的方法可以使用

**附录** 选项卡式面板的代码为:

public class MyTabbedPanel extends JQueryGenericPanel<List<ITab>> implements ITabsListener {
  ...
  @Override
  protected void onInitialize() {
    super.onInitialize();

    this.add( new ListView<ITab>( "tabs", this.getModel() ) {
      ...
      @Override
      protected void populateItem( ListItem<ITab> item ) {
        Label link = new Label( "widgetId", new PropertyModel<String>( somePanel, "getTitle()" ) );
private String title = "default";
public String getTitle() { return title; }
@Override
public void onInitialize() {
    title = getString( "someKey" );
}
因此PropertyModel使用“getTitle()”获取标题。不幸的是,这发生在调用“onInitialize()”之前。因此,选项卡标题显示“default”,而不是“someKey”的本地化文本。

而不是

new Label(itemId, getString("key"))
。。。使用:

new Label(itemId, new ResourceModel("key"));
。。。或者,如果你用绳子做了一些有趣的事情:

new Label(itemId, new AbstractReadOnlyModel<String>() {
  public String getObject() {
    return ... + getString("key") + ...;
  }
});
new标签(itemId,new AbstractReadOnlyModel(){
公共字符串getObject(){
返回…+getString(“键”)+。。。;
}
});
而不是

new Label(itemId, getString("key"))
。。。使用:

new Label(itemId, new ResourceModel("key"));
。。。或者,如果你用绳子做了一些有趣的事情:

new Label(itemId, new AbstractReadOnlyModel<String>() {
  public String getObject() {
    return ... + getString("key") + ...;
  }
});
new标签(itemId,new AbstractReadOnlyModel(){
公共字符串getObject(){
返回…+getString(“键”)+。。。;
}
});

我已经在使用'Label link=new Label(“widgetId”,new PropertyModel(panelObject,“getTitle()”);'但问题依然存在。使用“getString()”设置标题只能在“onInitialize()”中使用,但PropertyModel已访问上一个标题。不幸的是,您的答案没有解决问题。问题是您的面板尚未添加到组件层次结构(因此未调用#onInitialized())。您是否尝试从getTitle()内部调用getString()?尚未,因为它经常被调用,我想通过在panel对象中存储本地化文本来优化它。我将试一试。我已经在使用'Label link=new Label('widgetId',new PropertyModel(panelObject,'getTitle()');'但问题依然存在。使用“getString()”设置标题只能在“onInitialize()”中使用,但PropertyModel已访问上一个标题。不幸的是,您的答案没有解决问题。问题是您的面板尚未添加到组件层次结构(因此未调用#onInitialized())。您是否尝试从getTitle()内部调用getString()?尚未,因为它经常被调用,我想通过在panel对象中存储本地化文本来优化它。我将尝试一下。
新的PropertyModel(somePanel,“getTitle()”)
看起来很奇怪。使用
newpropertymodel(somePanel,“title”)
newpropertymodel(somePanel,“getTitle()”)
看起来很奇怪。改用
newpropertyModel(somePanel,“title”)