こんにちは、フォームBeanで他のタイプ(文字列を除く)の変数を宣言すると、どのような問題に直面する可能性があるかを誰かが説明できますか?
3 に答える
リクエスト パラメータはString
s. フォームに異なるタイプのパラメーターがある場合、リクエストをバインドするときに、Struts は String からパラメーター タイプへの変換を実行します。
ここで問題が発生する可能性があります。
タイプのプロパティがあり、int への変換に失敗するプロパティint
をリクエストしたとします (たとえば、文字が含まれていますが、これはすでにデータ検証の問題です)。String
現在、int
はプリミティブであるため、常に値を持っている必要があります。そのため、Struts はそれに 0 を設定し、暗黙のうちに失敗します。そのフィールドを値 0 で使用すると、エラーが発生したのか、ユーザーが自分で 0 を挿入したのかわかりません。他のタイプのフィールドでもこの問題に直面する可能性があります。
バインドを制御する必要があります。常に Struts を当てにする必要はありません。
ブラウザーからサーバーへの情報は HTTP 経由で送信され、データ型やオブジェクトは認識されないため、最善の策は String 型を使用することです。
http://jtute.com/struts/0401.htmlをご覧ください
概要: アクション フォームのプロパティにはどのデータ型を使用する必要がありますか? ここにいくつかの提案があります。