【发布时间】:2012-01-09 18:38:45
【问题描述】:
我正在为我的网络服务开发一个检票口客户端。
在我使用 wicket 的第一步时,我注意到了一种奇怪的行为。我有一个输入用户名的表单:
<form wicket:id="registerForm">
User Name <input type="text" wicket:id="userId"/><br/>
<input type="submit" value="Register"/>
</form>
我为此提交的内容如下:
private TextField userIdField;
private Form form;
public Register() {
userIdField = new TextField("userId", new Model(""));
form = new RegisterForm("registerForm");
form.add(userIdField);
add(form);
}
class RegisterForm extends Form {
public RegisterForm(String id) {
super(id);
}
@Override
public void onSubmit() {
String userId = Register.this.getUserId();
if(userId == "test") {
System.out.println("normal");
}
else {
System.out.println("strange");
}
}
}
protected String getUserId() {
return userIdField.getDefaultModelObjectAsString();
}
}
当我在表单中输入测试时,控制台显示“奇怪”。
这有什么问题?
【问题讨论】:
-
如果你想检查内容的相等性,你必须用
equals-方法检查字符串。另见here
标签: java string wicket textfield tostring