2013-04-15 3 views
2

Когда я попытался добавить <a4j:support> тег в JSF 2.0, я получил следующее сообщение об ошибкеTag Library поддерживает пространства имен: https://ajax4jsf.dev.java.net/ajax, но не тег не был определен для имени: поддержка

Tag Library поддерживает пространства имен: https://ajax4jsf.dev.java.net/ajax, но не тег не был определен для имени: поддержка

Как это вызвано и как я могу решить эту проблему?

+0

какая версия a4j вы используете? –

ответ

1

Пространство имен URI https://ajax4jsf.dev.java.net/ajax узнаваем, как один из Ajax4jsf 1.x, который существовал в доисторические времена, задолго до того, Ajax4jsf был приобретен RichFaces 3.x в 2006 Ajax4jsf 1.x является древней библиотеки тегов, который был адресован на JSF 1.1 на JSP, задолго до появления JSF 2.0 со встроенной функцией ajax.

Еще больше, в настоящее время с JSF 2.0, JSP устарел и преуспел в Facelets (который много стартеров overgeneralize как "XHTML"). Библиотеки целевых тегов JSP, такие как Ajax4jsf 1.x, не совместимы с Facelets. Вместо этого вам нужна библиотека тегов, совместимая с JSF 2.0. Если вы ищете функциональность Ajax4jsf, вам следует искать RichFaces 4.x. Обратите внимание: <a4j:support> с тех пор RichFaces 4.x был переименован в <a4j:ajax>, чтобы соответствовать стандарту JSF 2.0 <f:ajax>.

Однако, как сказано, JSF 2.0, таким образом, уже предлагает встроенную функциональность ajax в аромате <f:ajax>. Учитывая, что вы пытаетесь использовать Ajax4jsf 1.x на JSF 2.0, вы, возможно, читали безнадежно устаревшую книгу/учебник/ресурс JSF. Я настоятельно рекомендую отложить это в сторону и искать более новую версию, желательно не старше 2010 года, если вы хотите, чтобы целевой JSF 2.0 был нацелен. Вы можете найти несколько нормальных учебников, связанных где-то внизу our JSF wiki page.

Удачи.