1

在调用 protected void onSubmit() { 之前,wicket 调用了什么方法?我的 texfield 字符串 loginName 为空,但如果我关闭浏览器并重新启动浏览器并查看页面,我可以看到文本字段字符串 loginname 填充了我在文本字段中输入的值。

>       <td class="label"><wicket:message
> key="login.loginName"/></td>
>                         <td colspan="2"><input
> wicket:id="loginName" size="35"/></td>
4

2 回答 2

1

文本字段是否可能不是由 Wicket 填充,而是由您的网络浏览器本身填充?我说的是普遍实现的功能,即从表单中保存提交的值(特别是用户名/密码/从我的记忆中非常积极地)(我想是自动完成?)。

要检查,请查看生成页面的源代码,并查看默认值是否在其中。如果它在那里,那么就是 Wicket 正在预填充该字段。如果它不在那里,那么很可能是您的网络浏览器在您不查看时填充了该字段。在您的网络浏览器首选项中的某处是一种清除和/或禁用其内部表单预填充功能的方法。

此外,某些浏览器支持autocomplete="off"文本字段的属性,这可能会阻止浏览器预填充字段。

于 2009-10-01T09:38:06.907 回答
1

如果不是您的浏览器填充了该字段,那么支持 Textfield 的模型很可能具有该值。例如,如果您使用用户对象填充表单,请确保 User.getLoginName() 返回 null - 否则文本字段将始终填充对象的内容。如果这听起来很复杂或对您来说很新,请务必了解使用检票口模型的概念- 这是框架的关键部分之一。

于 2009-10-07T13:40:15.290 回答