Что может вызвать ошибку «jsf не определен» в консоли браузера - PullRequest
9 голосов
/ 02 апреля 2012

Привет, я получил простой свежий проект, основанный на MyFaces 2.0.11 с Primefaces 3.0 на Tomcat 6

Когда я пытаюсь перейти на страницу, я получаю ошибку Uncaught ReferenceError: jsf is not defined, которая направляет меня кссылка в моем js-коде jsf.ajax.addOnEvent ... (это разумно, потому что я пытаюсь использовать jsf.js, и это не событие, я являюсь моей страницей ..)

И если я это сделаюпросмотреть исходный код моей страницы Я не включаю файл jsf.js

Теперь, если я добавлю его вручную, как это

<h:outputScript name="jsf.js" library="javax.faces" target="head"/>

все работает нормально... но я предпочитаю не включать его вручную, вместо этого я хотел бы знать, по каким причинам это может привести к отсутствию jsf.js на моей странице

Я некоторое время гуглю и ни один изаналогичный случай представляет мой

У меня есть <h:head> и <h:body> Моя страница действительно проста ...

Есть идеи?

1 Ответ

8 голосов
/ 02 апреля 2012

Этот сценарий будет автоматически включаться только при использовании <f:ajax> в представлении.Если вы этого не сделаете, то он не будет автоматически включен.

Просто добавьте дополнительную проверку перед вызовом jsf.ajax.addOnEvent:

if (typeof jsf !== 'undefined') {
    jsf.ajax.addOnEvent(someFunctionName);
}

Или явно включите библиотеку с помощью<h:outputScript> на правильном library, как вы уже сделали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...