почему a4j: poll работает только один раз, когда я использую его на своей странице jsf, которая определяется с помощью шаблона .xhtml - PullRequest
1 голос
/ 28 февраля 2012

Я создаю шаблонный файл xhtml, который выглядит как richfaces-showcase main.xhtml:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j">
<f:view contentType="text/html">
    <h:head>
        <!-- Mimic Internet Explorer 8 -->
        <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"  />
        <title>My title</title>
    </h:head>
    <h:body>
        <div id="page">
            <ui:insert name="body">
                Body content missed
            </ui:insert>
        </div>
    </h:body>
</f:view>
</html>

И на подстранице я определил «тело шаблона» и добавил в свою подстраницу a4j: poll, который я хочу использовать для обновления данных каждые 5 секунд:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich"
    xmlns:c="http://java.sun.com/jsp/jstl/core">

<ui:composition template="/templates/main.xhtml">
    <ui:define name="body">
        <h:form>
            <a4j:poll id="poll" interval="5000" enabled="true" action="..." render="poll,grid" />
        </h:form>        

        <h:form>
            <h:panelGrid columns="2" width="80%" id="grid">
                 sorry, details forgot ...
            </h:panelGrid>
        </h:form>
    </ui:define>
</ui:composition>

</html>

Но вопрос в том, что когда я открываю свою подстраницу с IE8 на локальном компьютере, a4j: poll может обновить данные один раз, а затем никогда больше не получить данные. когда я открываю подстраницу с IE6 или IE8 на другом компьютере, она работает нормально! Кто-нибудь может выяснить причину? Заранее спасибо !!

Ответы [ 2 ]

0 голосов
/ 10 января 2013

Я работал с EmulateIE8. Но, вероятно, при использовании его в интрасети IE может действовать по-другому.

Проверьте режим браузера и режим документа (нажмите F12 ).

Я получил: стандарты IE9 / IE8.

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

меняю

<h:head>
    <!-- Mimic Internet Explorer 8 -->
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"  />
    <title>My title</title>
</h:head>

до

<h:head>
    <!-- Mimic Internet Explorer 7 -->
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"  />
    <title>My title</title>
</h:head>

и теперь это работает ... но почему?

...