JSF2 встроенная ошибка поддержки AJAX: F: AJAX не найден - PullRequest
0 голосов
/ 06 февраля 2012

Пробная Мохарра - 2.0.8, 2.1.6, MyFaces 2.0.11,2.1.5

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="w3.org/1999/xhtml" xmlns:f="java.sun.com/jsf/core" xmlns:h="java.sun.com/jsf/html" xmlns:ui="java.sun.com/jsf/facelets">
<body> 
   <h:form> 
      <h:inputText id="name" value="#{helloBean.name}"></h:inputText> 
      <h:commandButton value="Welcome Me"> 
         <f:ajax execute="name" render="output" /> 
      </h:commandButton> 
      <h2><h:outputText id="output" value="#{helloBean.sayWelcome}"/></h2> 
   </h:form>
 </body>
 </html>

1 Ответ

0 голосов
/ 06 февраля 2012

Пространства имен XML недопустимы. Вы удалили префикс http:// из них всех. Это не правильно.

Вот переписать:

<!DOCTYPE html>
<html lang="en" 
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <title>Page title</title>
    </h:head>
    <h:body>
        <h:form> 
            <h:inputText id="name" value="#{helloBean.name}"></h:inputText> 
            <h:commandButton value="Welcome Me"> 
                <f:ajax execute="name" render="output" /> 
            </h:commandButton> 
            <h2><h:outputText id="output" value="#{helloBean.sayWelcome}"/></h2> 
        </h:form>
    </h:body>
</html>

Обратите внимание, что вы также забыли компонент <h:head>. Это создает элемент HTML <head>, который позволяет JSF автоматически включать необходимые файлы JS и CSS. В случае <f:ajax> необходимо включить (авто) включенный в JSF файл jsf.js, в противном случае вы столкнетесь с ошибкой JS после загрузки страницы.

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