カスタムタグを定義して1つのパラメータ(数値)を取得し、それを使って情報を検索して返します。私はNumberFormatExceptionを取得し続けます。私はELを使ってjspのタグに番号を渡しています。私のTLDでNumberFormatExceptionを与えるカスタムタグへの値の受け渡し
private int id;
//getters and setters for id
public int doStartTag() throws JSPException {
//Does some stuff with id
}
(いくつかのものを省略):
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
私のカスタムタグハンドラで
private int id;
private void setId(int id){
this.id = id;
}
private int getId(){
return id;
}
:アクションのためのBeanクラスで
<my:myTag id="${action.id}"/>
タグは、私が麻痺を渡すだけで、私が望むことをします。 er in(つまり、id = "6")が、EL式の値を使用しようとすると常に例外がスローされます。式が評価されるときなど、どこかでint-string変換が起こっていますか?それは豆のintフィールドで、私はそれがそのまま渡されると仮定しましたか?私は、タグハンドラの属性をStringとIntegerに変更しようとしましたが、どちらも解決していません。私はrtexprvalueをtrueに設定したので、それを正しく評価する必要があります。どんな助けもありがたい。
正確にはnullポインタ例外が発生していますか? –
どのJSPエンジン、どのバージョンですか?古いバージョンのJSP仕様には、JSPコンパイラ段階でのELの解析/評価は含まれていませんでした。式をタグで手動で評価する必要がありました。 – Tim
@Timありがとう。これは正しい方向で私に指摘し、実際には、タグハンドラで式を手動で評価する必要がありました。これを答えにしたいなら、私はそれを受け入れます。 – Paul