apache wicket textfield null

时间:2009-10-01 09:32:03

标签: java wicket

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

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

2 个答案:

答案 0 :(得分:1)

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

要检查,请查看生成的页面的来源,并查看默认值是否在那里。如果它在那里,那么预先填充场地的是Wicket。如果它不在那里,那么很可能是你的网络浏览器在你不看时填充该字段。在您的Web浏览器的某个位置,首选项是清除和/或禁用其内部表单预填充功能的方法。

此外,某些浏览器在文本字段上支持autocomplete="off"属性,可能阻止浏览器预先填写字段。

答案 1 :(得分:1)

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