2012-11-27 18 views
5
日食は、次のgetterメソッドとsetterを生成し、なぜ私は次のブールを使用した場合、私は疑問に思って

ブールのgetterメソッドとsetter日食

boolean isLifeTimeMember 

Image

ゲッターはisIsLifeTimeMember()とないisLifeTimeMember(する必要があります)

私はそれがJSPで変数isLifeTimeMemberを呼び出すことに影響を与えたと思います。これはJSPを見てisIsLifeTimeMember()getterメソッドにマップするからです。そこにはisIsLifeTimeMember()メソッドではありませんが、日食によって生成されたゲッターがisLifeTimeMemberあるので

エラーが発生します()

ありがとうございました。

+0

の使用を避けます() 'を返します。 GetはJSPで想定されています。 – Makoto

+0

画像をアップロードしないでください。ここにコードを貼り付けるだけです。 –

+0

私は、コードが 'boolean isLifeTimeMember()'ではなく 'boolean isLifeTimeMember;'であると仮定します。 Eclipseはメソッドのゲッターとセッターを生成しません! –

答えて

14

Eclipseの名前生成規則では、ブールゲッターはisで始まる必要があります。変数名がすでにisで始まっている場合、追加の接頭辞は必要ないと考えられます。

Eclipseには、生成されたブールゲッターのisの使用を制御する設定があります。環境設定を開き、Java > Code Styleにナビゲートします。そこでは、オプション "Use 'は、ブール値を返すゲッターの接頭辞です。 Eclipseで生成されたboolean getterは、他のすべてのgetterと同様に、「get」で始まります。

ところで、Javaは問題なく、同じ名前のフィールドとメソッドを持つことに問題はありません。

しかし、 "is"で始まるプロパティ名を持つと、おそらくjspに問題が発生します。 this threadに記載されているように、質問(isLifeTimeMember)のようなプロパティ名を避け、そのプロパティ自体をプロパティ名(lifeTimeMember)として使用する方がよいでしょう。

+0

私が newbie

+0

を呼び出すと、isIsLifeTimeMemberゲッターメソッドを見ていると思いますので、それは私のJSPに影響しますか? – newbie

+0

@newbie - おそらく問題を引き起こすでしょう。 [this thread](http://stackoverflow.com/questions/2945061/java-how-to-name-boolean-properties)で説明したように、質問のようなjspプロパティ名( 'isLifeTimeMember')と代わりにプロパティ自体をプロパティ名( 'lifeTimeMember')として使用してください。 –

2

ブール変数の場合、eclipseは変数名にisを付加してゲッター名を形成します。私。変数がboolean present;の場合、ゲーマーゲッターの名前はisPresent();

となります。変数名にisを含めることはお勧めしません。

変数名はあなたはそれがゲッターが日食でゲッターセッター発生器としてありませんでしたisispresemt();だろうと仮定して今度はそのゲッター、そのブールのためにルックアップする変数名ispresentでルックアップしますJSP上で、ispresentある場合変数名に既に存在する場合はisを追加しません。

ので、例外could not find the field ispresentは、フィールド名でisを持つ

をスローすることが期待され、問題を引き起こす可能性があり、あなたはJSPからそれを呼び出している場合は、ゲッターは `getIsLifeTimeMemberする必要があります彼らに

関連する問題