1

before call protected void onSubmit() { , wicket によって呼び出されるメソッドは? 私のtexfield文字列loginNameはnullですが、ブラウザを閉じてブラウザを再起動してページを表示すると、テキストフィールド文字列loginnameにテキストフィールドに入力した値が入力されていることがわかります。

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

2 に答える 2

1

ブラウザがフィールドにデータを入力していない場合は、Textfield をサポートするモデルに値がある可能性が最も高くなります。たとえば、フォームにユーザー オブジェクトを入力する場合は、User.getLoginName() が null を返すようにしてください。そうしないと、テキスト フィールドには常にオブジェクトのコンテンツが入力されます。これが複雑または新しいと思われる場合は、フレームワークの重要な部分の 1 つである改札モデルの操作の概念を必ず理解してください。

于 2009-10-07T13:40:15.290 に答える
1

テキストフィールドが Wicket ではなく、Web ブラウザ自体によって入力される可能性はありますか? 私は、フォームから送信された値 (特にユーザー名/パスワード/私が覚えていることからかなり積極的に) を保存するという普遍的に実装されている機能について話しています (オートコンプリートだと思いますか?)。

確認するには、生成されたページのソースを表示し、デフォルト値がそこにあるかどうかを確認します。そこにある場合、フィールドを事前に入力しているのは Wicket です。そこにない場合は、見ていなくてもフィールドに値を入力しているのは Web ブラウザーである可能性が高いです。Web ブラウザーの設定のどこかに、内部のフォーム事前入力機能をクリアまたは無効にする方法があります。

autocomplete="off"また、一部のブラウザはテキスト フィールドの属性をサポートしているため、ブラウザがフィールドに事前入力できない場合があります。

于 2009-10-01T09:38:06.907 に答える