Программирование простых обработчиков тегов в JSP
Недавно я начал работать над JSP и проходил учебные курсы по созданию простых обработчиков тегов для проверки пользовательских тегов. Я наткнулся на этот фрагмент кода, и когда я пытался запустить его, я снова и снова получал одну и ту же ошибку. Я прошу меня сначала изменить тип возвращаемого значения, а затем он сообщает, что новый возвращаемый тип несовместим с переопределяемым методом. Дело в том, что я только что скопировал код с docs.oracle.com
http://docs.oracle.com/javaee/5/tutorial/doc/bnann.html
Кто-нибудь может сказать, что здесь не так?
РЕДАКТИРОВАТЬ: я теперь добавил импорт и сообщение об ошибке.
import javax.servlet.jsp.tagext.TagData;
import javax.servlet.jsp.tagext.TagExtraInfo;
import javax.servlet.jsp.tagext.ValidationMessage;
public class TwaTEI extends TagExtraInfo {
public ValidationMessage[] validate(TagData data) {
Object o = data.getAttribute("attr1");
if (o != null && o != TagData.REQUEST_TIME_VALUE) {
if (((String)o).toLowerCase().equals("true") ||
((String)o).toLowerCase().equals("false") )
return null;
else
return new ValidationMessage(data.getId(),
"Invalid boolean value.");
}
else
return null;
}
}
ОШИБКА
Type mismatch: cannot convert from ValidationMessage to ValidationMessage[].
1 ответ
Решение
Эта часть недействительна, вы должны вернуть массив объектов ValidationMessage:
return new ValidationMessage(data.getId(),
"Invalid boolean value.");
Как это:
return new ValidationMessage[]{new ValidationMessage(data.getId(),
"Invalid boolean value.")};