我已經定義了一個自定義標籤來接受一個參數,一個數字,然後用它來查找一些信息並返回。儘管如此我仍然收到NumberFormatException。我通過使用EL將數字傳遞給我的jsp中的標籤。將值傳遞給給給NumberFormatException的自定義標籤
<my:myTag id="${action.id}"/>
在bean類行動:
private int id;
private void setId(int id){
this.id = id;
}
private int getId(){
return id;
}
在我的自定義標籤處理程序:
private int id;
//getters and setters for id
public int doStartTag() throws JSPException {
//Does some stuff with id
}
在我的TLD(省略了一些東西):
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
如果我只是通過一個麻木,標籤做我想要的呃在(即,id =「6」)但是當我嘗試使用EL表達式值時總是拋出異常。是否有一些int-string轉換髮生在表達式被評估的地方?它是bean中的一個int字段,我認爲它會通過這樣的通過?我試圖將我的標記處理程序的屬性更改爲字符串和整數,但都沒有解決這個問題。我已將rtexprvalue設置爲true,因此應該對其進行評估。任何幫助讚賞。
你到底在哪裏得到空指針異常? – 2012-02-14 12:56:15
什麼JSP引擎,什麼版本?較早版本的JSP規範在JSP編譯器階段沒有包含EL解析/評估 - 表達式必須由標籤手動評估。 – Tim 2012-02-14 12:59:02
@Tim謝謝。這使我指出了正確的方向,事實上它必須在標籤處理程序中手動評估表達式。如果你想把這個作爲答案,我會接受它。 – Paul 2012-02-14 14:21:17