2011-02-23 67 views
2

我在java文件替换文本检票AjaxLink

add(new AjaxLink("link"){                                                                         
private static final long serialVersionUID = 1L;                          

@Override                                    
public void onClick(AjaxRequestTarget target) {                           
target.appendJavascript("window.open('http://www.cnn.com/2011/WORLD/africa/02/23/libya.protests/index.html?hpt="+T1+"')");    
}                                      
}); 

创造了一个新的AjaxLink并将其添加到我的.html文件内

<a href="#" wicket:id="link">TEXT TO REPLACE</a> 

的网址只是一个例子,但T1是动态的,我从我的.java文件中得到。我希望“TEXT TO REPLACE”等于T1字符串,但我不知道该怎么做。我试图创建一个标签,并添加它像

<a href="#" wicket:id="link"><span wicket:id="linkLbl"></span></a> 

但这给出了一个错误。

有什么建议吗?

感谢

+0

@ user561793,所以你得到它的工作?一定要接受最有用的答案(绿色标记),或者如果有些事情不清楚,请留言! – Jonik 2011-02-24 17:11:55

回答

1

Label方向是正确的,但你必须确保你在Java代码中添加标签为好,它应该是你的Ajax链接的子组件。

(在旁注:你可能要考虑使用<wicket:container>,而不是<span>在这种情况下,它并没有多大关系,但也有情况下,额外的<span>标签会使你的HTML无效。)

+0

工作。谢谢。我没有将该标签声明为AjaxLink的子组件,但是一旦我修复它可以正常工作。 – BourneAgain 2011-02-24 20:25:36

0

a)使用链接和标签的共同模型,b)不要忘记更新链接

IModel<String> model = // get model data from somewhere 

add(new AjaxLink("link"){                                                                         
private static final long serialVersionUID = 1L;                          

@Override                                    
public void onClick(AjaxRequestTarget target) { 
target.addComponent(this); // update the link component 
target.appendJavascript("window.open('http://www.cnn.com/2011/WORLD/africa/02/23" 
    + "/libya.protests/index.html?hpt="+model.getObject() 
    /* you probably want to encode this first */+"')");    
}                                      
}).setOutputMarkupId().add(new Label("label",model)); 
+0

为什么要点击时更新链接组件? – biziclop 2011-02-23 20:38:13

+0

嗯,[AjaxRequestTarget]中没有'appendComponent'方法(http://wicket.apache.org/apidocs/1.4/org/apache/wicket/ajax/AjaxRequestTarget.html) – Jonik 2011-02-23 20:48:05

+0

@Jonik addComponent(),很抱歉,匆忙 – 2011-02-23 20:56:58