Заставить Glassfish ответить на запрос ajax JSF 2 - PullRequest
2 голосов
/ 26 июля 2011

Я пытаюсь сделать ajax-запрос на свой сервер (Glassfish v3.1 с открытым исходным кодом) и по любой причине запрос никогда не отправляется на сервер, при запуске того же проекта на Tomcat 7 он работает правильно, есть какая-либо конфигурациячто я должен сделать на glassfich или что-нибудь еще?

im используя eclipse helios, jsf 2 MyFaces 2.1.1, richfaces 4.0.0 и glassfish 3.1 с открытым исходным кодом

вот мой код </p> <pre><code><h:panelGroup> <h:inputText id="firstName" value="#{RegistrationForm.first_name}" required="true" requiredMessage="Please enter your first name"> <f:converter converterId="bankingCore.UpperCaseConventer for="firstName"/> <f:ajax event="blur" execute="@all" render="@form"/> </h:inputText> <h:message id="NameError" for="firstName" styleClass="errorClass"/> </h:panelGroup>

1 Ответ

2 голосов
/ 27 июля 2011

Glassfish как полная реализация Java EE поставляется с уже реализованной реализацией JSF (Mojarra).Glassfish автоматически загрузит его перед вашим веб-приложением.Но так как вы включили другую реализацию JSF (MyFaces) в свое веб-приложение, оно столкнется.Tomcat - это простой контейнер JSP / Servlet, который не поставляется вместе с JSF, поэтому нет ничего, что могло бы столкнуться (пока вы не уроните некоторые библиотеки JSP / Servlet другой реализации / версии в своем веб-приложении).

У вас есть2 варианта:

  1. Избавьтесь от библиотек MyFaces в своем веб-приложении.Ваше веб-приложение больше не будет работать на Tomcat без изменения общего пути к классам Tomcat для включения библиотек JSF.

  2. Скажите Glassfish не загружать свою реализацию JSF, а вместо этого использовать JSF, связанный с веб-приложением.Отредактируйте файл /META-INF/sun-web.xml в своем веб-приложении, чтобы он содержал следующие строки:

    <class-loader delegate="false" />
    <property name="useBundledJsf" value="true" />
    
...