有错误Primefaces附表模型加载

问题描述 投票:2回答:1

我现在用Primefaces 6.2附表组分工作了几天,我无法找到答案,解决使用组件我的问题。我需要在这个问题上的一些技术建议。

我已经创建了像这样的组合物内的附表分量的图:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"   
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:p="http://primefaces.org/ui">
    <h:form id="content-form">
        <p:outputPanel id="page-title-myevents">
            <h3>#{translations['pvm_myevents']}</h3>
        </p:outputPanel>

        <h5>#{translations['misc_myscheduler']}</h5>
        <p:schedule id="myScheduler" value="#{myEventsBean.eventModel}" widgetVar="myscheduler" timeZone="#{appSettingsBean.uiTimeZone}">
           <p:ajax event="dateSelect" listener="#{myEventsBean.onDateSelect}" update="myEventDetails" oncomplete="PF('myEventDialog').show();" />
           <p:ajax event="eventSelect" listener="#{myEventsBean.onEventSelect}" update="myEventDetails" oncomplete="PF('myEventDialog').show();" />
           <p:ajax event="eventMove" listener="#{myEventsBean.onEventMove}" update="myEventMessages" />
           <p:ajax event="eventResize" listener="#{myEventsBean.onEventResize}" update="myEventMessages" />
        </p:schedule>
        <p:dialog widgetVar="myEventDialog" header="Event details" modal="true">
        <h:panelGrid id="myEventDetails" columns="2">
            <p:outputLabel for="myEventTitle" value="#{translations['fld_eventtitle']}" />
            <p:inputText id="myEventTitle" value="#{myEventsBean.event.title}" required="true" />

            <p:outputLabel for="myEventFrom" value="#{translations['fld_from']}" />
            <p:calendar id="myEventFrom" value="#{myEventsBean.dateFrom}" timeZone="#{appSettingsBean.uiTimeZone}" pattern="#{appSettingsBean.uiDateTimePattern}" />

            <p:outputLabel for="myEventTo" value="#{translations['fld_to']}" />
            <p:calendar id="myEventTo" value="#{myEventsBean.dateTo}" timeZone="#{appSettingsBean.uiTimeZone}" pattern="#{appSettingsBean.uiDateTimePattern}" />

            <p:outputLabel for="myEventAllDay" value="#{translations['fld_allday']}" />
            <h:selectBooleanCheckbox id="myEventAllDay" value="#{myEventsBean.event.allDay}" />

            <p:commandButton id="myEventResetForm" type="reset" value="#{translations['btn_reset']}" />
            <p:commandButton id="myEventUpdate" value="Save" action="#{myEventsBean.addEvent}" oncomplete="PF('myscheduler').update();PF('myEventDialog').hide();" />
        </h:panelGrid>
        </p:dialog>
        <p:messages id="myEventMessages" showDetail="true" closable="true">
            <p:autoUpdate />
        </p:messages>
        <hr></hr>
    </h:form>
</ui:composition>

我有各种成分和他们都得到加载我dashboard.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:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:p="http://primefaces.org/ui">
<ui:include src="/themes/theme.xhtml"/>
<h:body>
    <ui:insert name="header" >
        <ui:include src="/main-dashboard/my-topnav.xhtml"/>
    </ui:insert>
    <ui:insert name="content" >
        <ui:include src="/main-dashboard/my-sidenav.xhtml"/>
        <p:outputPanel id="dashboard-container">
            <ui:include src="/main-dashboard/my-sidenavtoggler.xhtml"/>
            <p:outputPanel id="content-window">
                <p:outputPanel id="content-panel">
                    <ui:include src="#{contentLoaderBean.mainContent}" />
                </p:outputPanel>
            </p:outputPanel>
        </p:outputPanel>
    </ui:insert>
</h:body>
</html>

这是实际上是内置(其他人仍然是空的)我的第一组合物。我加载一个简单的ScheduleModel给它一个@PostConstruct豆@ViewScoped里面。由于I'don't在我的数据库中的任何事件,然而,我设定的模型,像这样:setEventModel(new DefaultScheduleModel());

第一问题:如果我把一些随机生成的事件模型里,有时它们会在视图中显示,有时他们没有。我不明白为什么会这样的。我不明白用Java或JavaScript控制台的任何错误,它只是随机的。懒惰模型的工作原理相同。

第二个问题:空或满进度模型,无所谓。页面加载时我通常会一个JavaScript警告说:

?jquery.js.xhtml LN = primefaces&V = 6.2:4弃用]同步XMLHttpRequest的主线程上的,因为其所带来的影响最终用户的体验弃用。如需更多帮助,请https://xhr.spec.whatwg.org/

enter image description here

第三个问题:你可能已经注意到我也有内容形式中的对话框。在日期选择事件此对话框火灾,当我尝试,然后从它抛出一个有趣的JavaScript错误(未捕获的错误类型)的日期选择器组件的日期,像这样:enter image description here

这很有趣,因为如果我尝试做在Firefox同样的事情,它抛出一个不同的错误,像这样:enter image description here

微软边缘根本不会引发错误。

注意:日期选择器可能是一个问题,也是因为它不弹出时进度加载和显示用随机生成数据的模型。如果调度无法加载模式,日期选择器会弹出并选择任何日期时抛出未捕获的类型错误。

不要紧,我选择哪个日期,错误抛出。因为Ajax请求不正确触发,bean的方法不火可言,所以我认为这是对需要被妥善固定观察侧的东西。

我试过和禁用所有自定义CSS和JS进口(现在用引导4.2.1 CSS和为设计目的JS)和手动清洁部署目录。我也确信我的项目是通过清除浏览历史记录和缓存不老的资源加载。我至今没有运气解决这些问题(所有警告和错误保持不变)。

我不知道是否所有的三个问题是相关的或没有,但我已经把他们在同一职位。有时候解决一个问题,解决了其他人。因为它们都在同一个组成发生这只是可能会再次如此。

让我知道如果我能以任何方式提供更多的细节,我会尽我所能。

谢谢。

编辑:基于从@Melloware收到的评论。升级Primefaces 6.2 Primefaces 7 RC2解决了一些问题,对我来说。弃用警告和未捕获的类型错误,现在都没有了。第一个问题仍然存在。调度成分不显示时间表对象或“事件”。在调试模式中,我发现,创建时间表对象,并推到进度模型。所有我现在需要的,是视图组件向他们展示。

primefaces jsf-2.2
1个回答
2
投票

由于我是能够解决的最后一块拼图我的,没有时间表显示我的日程安排的对象,我会写一个完整的回答我的问题。

通过@Melloware提供答案帮助我与我的核心设计前进。升级Primefaces 6.2 Primefaces 7 RC2去除的废弃警告和未捕获的类型错误。现在,我能够找到并实施了我最后的问题的解决,在加载进度的对象。

我已经通过我的内容装载机豆做了新手的错误我加载内容。准确地说,我同时推链接到我的内容装载机豆负责处理被执行导航操作时,下一步应该加载已经实现内容导航。导航行动应与CommandLink组件Action属性被调用。这里是我做了我的设计错误。我用ActionListener属性相反,导致在我的内容没有得到正确加载的情况。

下面是从@BalusC的职位,得到了我的车轮再次纺报价:

操作方法可以(因此,不必须)返回,其将被用作导航的情况下的结果(目标视图)的字符串。空或无效的返回值将让它回归到同一个页面,并保持当前视图范围活着。空字符串或相同的观点ID的返回值也将返回到相同的页面,但重新创建视图范围,从而摧毁任何当前活动视图范围的Bean,如果适用,重新创建。

全文后可以在这里找到:differences-between-action-and-actionlistener

我今天新长了不少见识。

谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.