所以我得到了这两个文本框,我试图将它们连接在一起并在标签中显示结果。我找到了一个例子并且在示例中做到了,但是出了点问题。所以也许有人可以看到我做错了什么,因为我刚开始并且不明白如何正确地做到这一点。
public class HomePage extends WebPage {
private String fNumber="Big";
private String sNumber=" text!";
private String sResult=fNumber+sNumber;
public HomePage() {
PropertyModel<String> firstNumber = new PropertyModel<String>(this, "fNumber");
PropertyModel<String> secondNumber = new PropertyModel<String>(this, "sNumber");
add(new Label("message", "HelloWorld!"));
add(new Label("result", sResult));
Form<?> form = new Form("form");
form.add(new TextField<String>("firstNumber", firstNumber));
form.add(new TextField<String>("secondNumber", secondNumber));
add(form);
}
}
所以我做了这个
`add(new Label(“message”,“HelloWorld!”));
add(new Label("result", new Model(numb.getsResult())));
Form<?> form = new Form("form") ;
form.add(new TextField<String>("firstNumber", new Model(numb.setfNumber())));
form.add(new TextField<String>("secondNumber",new Model(numb.setsNumber())));
add(form);`
我有一个有3个字符串字段的类,getter和setter以及sii,我已经理解了最后的评论解释了一些事情,也许有人知道如何解决这个问题。
答案 0 :(得分:2)
您需要“重新计算”结果。 Wicket方式是为您的Label定义一个用于连接的模型。
add(new Label("result", new IModel<String>(){
@Override
public void detach() {
// do nothing
}
@Override
public String getObject() {
return fNumber + sNumber;
}
@Override
public void setObject(String object) {
// do nothing
}
}));
此外,必须使用示例中的PropertyModels。
答案 1 :(得分:1)
要连接两个字符串,我通常使用StringBuilder:
PropertyModel firstNumber = new PropertyModel(this,"fNumber");
PropertyModel secondNumber = new PropertyModel(this,"sNumber");
PropertyModel resultNumber = new PropertyModel(this,"sResult");
StringBuilder sResult = new StringBuilder((String) firstNumber.getObject());
sResult.append((String) secondNumber.getObject());
resultNumber.setObject(sResult.toString());
另外,请阅读biziclop的链接,因为它可以帮助您。