繁体   English   中英

wicket TextField的奇怪行为

[英]Strange behaviour of wicket TextField

我正在为我的Web服务开发一个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();

}

}

当我在表单中输入test时,控制台会显示“ strange”。

它出什么问题了?

请记住,Java中有关字符串的相等性检查应使用String.equals()方法。 仅当两个操作数是同一实例时,才使用==返回true

if (userId.equals("test")) {
    System.out.println("normal");
}

这个问题可能对您有用: 如何比较Java中的字符串?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM