Я определил специальный тег, который принимает один параметр, число, которое затем использует для поиска информации и возврата. Однако я продолжаю получать исключение NumberFormatException. Я передаю номер тегу в моем jsp с помощью EL.
<my:myTag id="${action.id}"/>
В классе bean-компонента для Action:
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 при вычислении выражения или что-то в этом роде? Это поле типа int в bean-компоненте, и я предполагал, что оно будет просто пропущено как таковое? Я попытался изменить атрибут своего обработчика тегов на String и Integer, но ни один из них не решил эту проблему. Я установил для rtexprvalue значение true, поэтому он должен правильно его оценивать. Любая помощь приветствуется.