java - Wicket 口 TextField 的奇怪行为

标签 java string wicket textfield tostring

我正在为我的网络服务开发一个 wicket 客户端。

在我使用 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();

}

}

当我在表单中输入测试时,控制台显示“奇怪”。

有什么问题吗?

最佳答案

请记住,在 Java 中检查字符串是否相等应使用 String.equals()方法。使用 == 只会在两个操作数是同一实例时返回 true

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

这个问题可能对你有用:How do I compare strings in Java?

关于java - Wicket 口 TextField 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8793402/

相关文章:

java - 在 Spring 测试中加载文件

Java Bean 实例化错误的 bean

java - 从 wicket 面板类调用 javascript 或修改 css

string - 调用带有特殊前缀/后缀的函数

python - 将关键字(字符串)与 Pandas 数据框匹配

javascript - 使用 ajax 的 URL 的奇怪行为

java - 如何通过 setVisible() 方法 wicket ajax 更改方法中模型的可见性

java - 我可以在java中连续分配对象吗?

java - 在ViewPager中使用相同的 fragment ,但是每次 fragment 都会有不同的布局

c++在类似结构的数组中仅给出字符串的一部分时查找字符串