1
次のJavaオブジェクトがあります。Struts2引数のないコンストラクタの文字列値が空の文字列に変更されました
public class TestClass {
private String testString;
private int testInt;
public TestClass(){
this.testInt = 1;
this.testString = "test";
}
... getters and setters
私は私のjsp
ページで、次のStruts2
textfields
が含まれています。
<s:textfield name="test.testString" />
<s:textfield name="test.testInt" />
私は私のコードでtest
オブジェクトを初期化していないですし、no-arg
コンストラクタを使用してStruts2
に頼っています。フィールドに「test」と入力してフィールドに1
フィールドを入力した後に、のフィールドに空白のが入力されている場合、フィールドにはが表示されます。なぜこれが起こるのですか?
privateの代わりに変数をpublicにすると "test"というテキストが表示されます。変数がそのクラスにプライベートであるときにドット演算子で値にアクセスすることはできませんが、もう一度Strutsについてよく知りません。また、ドット演算子の代わりにゲッターを使うこともできます。 intが動作する理由と文字列は私には何の手がかりもありません。 –
私はStrutsが期待している2つのフィールドのパブリックゲッターとセッターを持っています。それをもう少し見た後、Strutsは入力値を空の文字列として扱い、値を上書きすると思います。なぜ私はintフィールドで同じことをしないのか分からない。 – ponder275
興味深いことに、それらのゲッターが期待していますが、ドット演算子の使用を参照してください。それは私には変です。
を試すことができますか?またはそれは動作しません –