Need help finding my component

UI Components for JSF
Post Reply
taskman
Posts: 26
Joined: 25 Jun 2010, 19:03

30 Jul 2011, 23:47

Hi

I am using the p:ajax tag to update a component. I know this update isn't right. I have tried many different update strings, e.g. :frm:j_id1:j_idt5:j_idt6:j_idt8:j_idt9:j_idt10:j_idt11:checkboxTree. Can someone please have a look and see what the update string is supposed to be. My drop down is in a north layout panel and my component that I want to update is in a west layout panel. The Pit drop down needs to update the checkboxTree Tree component

<p:selectOneMenu id="pit" style="width: 140px" value="#{homeBean.selectedPit}">
<f:selectItems value="#{homeBean.pitList}" var="pit" itemLabel="#{pit.name}" itemValue="#{pit.id}" />
<p:ajax update="checkboxTree" listener="#{cc.attrs.treeInitMethod}" />
</p:selectOneMenu>

This is my debug output

Debug Output
/index.xhtml
- Component Tree

<UIViewRoot id="j_id1" inView="true" locale="en_ZA" renderKitId="HTML_BASIC" rendered="true" transient="false" viewId="/index.xhtml">
javax_faces_location_HEAD

<ComponentResourceContainer id="javax_faces_location_HEAD" inView="true" rendered="true" transient="false">

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

<UIOutput inView="true" rendered="true" transient="false"/>

</ComponentResourceContainer>

<!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">

<UIOutput id="j_idt3" inView="true" rendered="true" transient="false">

<!-- swf object (version 2.2) is used to detect if flash is installed and include swf in the page --> <script type="text/javascript" src="../amcharts/flash/swfobject.js"/> <!-- following scripts required for JavaScript version. The order is important! --> <script type="text/javascript" src="../amcharts/javascript/amcharts.js"/> <script type="text/javascript" src="../amcharts/javascript/amfallback.js"/> <script type="text/javascript" src="../amcharts/javascript/raphael.js"/> <style type="text/css"> .ui-widget { font-size: 75%; } .themeMenu { overflow: auto; height:300px; width:200px; } .ui-layout-north { z-index:20 !important; overflow:visible; } .ui-layout-north .ui-layout-unit-content { overflow:visible; } </style> <title>GeoSeer</title>

</UIOutput>

<UIOutput id="j_idt5" inView="true" rendered="true" transient="false">

<HtmlForm enctype="application/x-www-form-urlencoded" id="j_idt6" inView="true" prependId="true" rendered="true" submitted="false" transient="false">

<Layout closeTitle="Close" collapseTitle="Collapse" fullPage="true" id="j_idt7" inView="true" rendered="true" transient="false">

<UIDebug hotkey="S" id="j_idt55" inView="true" rendered="true" transient="true"/>

<LayoutUnit closable="false" collapseSize="25" collapsed="false" collapsible="false" gutter="6" id="j_idt56" inView="true" maxSize="0" minSize="50" position="center" rendered="true" resizable="false" size="auto" transient="false" visible="true">

<Layout closeTitle="Close" collapseTitle="Collapse" fullPage="false" id="j_idt9" inView="true" rendered="true" transient="false">

<LayoutUnit closable="false" collapseSize="25" collapsed="false" collapsible="false" gutter="6" header="SSR List" id="j_idt10" inView="true" maxSize="0" minSize="50" position="west" rendered="true" resizable="true" size="330" transient="false" visible="true">

<Tree cache="false" dragdrop="false" dynamic="true" expanded="true" id="checkboxTree" inView="true" rendered="true" selectionMode="checkbox" transient="false" var="node">

<UITreeNode id="j_idt57" inView="true" rendered="true" transient="false" type="default">

<HtmlOutputText escape="true" id="j_idt12" inView="true" rendered="true" transient="false"/>

</UITreeNode>

</Tree>

</LayoutUnit>

<LayoutUnit closable="false" collapseSize="25" collapsed="false" collapsible="false" gutter="6" id="j_idt58" inView="true" maxSize="0" minSize="50" position="center" rendered="true" resizable="false" size="auto" transient="false" visible="true">

<TabView activeIndex="0" cache="true" collapsible="false" dynamic="false" effectDuration="normal" id="j_idt14" inView="true" rendered="true" transient="false">

<Tab disabled="false" id="j_idt15" inView="true" rendered="true" title="Home View" transient="false">

<HtmlPanelGrid border="-2147483648" cellpadding="10" columns="2" id="j_idt16" inView="true" rendered="true" transient="false"/>

</Tab>

<Tab disabled="false" id="j_idt17" inView="true" rendered="true" title="Scan Area" transient="false">

<HtmlPanelGrid border="-2147483648" cellpadding="10" columns="2" id="j_idt18" inView="true" rendered="true" transient="false"/>

</Tab>

</TabView>

</LayoutUnit>

</Layout>

</LayoutUnit>

<LayoutUnit closable="false" collapseSize="25" collapsed="false" collapsible="false" gutter="6" header="Menu" id="j_idt22" inView="true" maxSize="0" minSize="50" position="north" rendered="true" resizable="true" size="100" transient="false" visible="true">

<Menubar autoSubmenuDisplay="false" effect="fade" effectDuration="400" id="j_idt23" inView="true" rendered="true" style="Inline style of menubar." transient="false">

<MenuItem ajax="true" async="false" disabled="false" global="true" icon="ui-icon ui-icon-home" id="j_idt24" immediate="false" inView="true" rendered="true" transient="false" url="/index.jsf" value="Home"/>

<Submenu icon="ui-icon ui-icon-script" id="j_idt25" inView="true" label="Analysis" rendered="true" transient="false">

<MenuItem ajax="true" async="false" disabled="false" global="true" id="j_idt26" immediate="false" inView="true" rendered="true" transient="false" url="/analysis/deformation.jsf" value="Deformation"/>

<MenuItem ajax="true" async="false" disabled="false" global="true" id="j_idt27" immediate="false" inView="true" rendered="true" transient="false" url="/analysis/correction.jsf" value="Correction"/>

<MenuItem ajax="true" async="false" disabled="false" global="true" id="j_idt28" immediate="false" inView="true" rendered="true" transient="false" url="/analysis/deformation.jsf" value="Velocity"/>

</Submenu>

<MenuItem ajax="true" async="false" disabled="false" global="true" icon="ui-icon ui-icon-gear" id="j_idt29" immediate="false" inView="true" rendered="true" transient="false" url="/figures/figuresIndex.jsf" value="Figures"/>

<MenuItem ajax="true" async="false" disabled="false" global="true" icon="ui-icon ui-icon-clock" id="j_idt30" immediate="false" inView="true" rendered="true" transient="false" url="/alarms/alarmsIndex.jsf" value="Alarms"/>

<MenuItem ajax="true" async="false" disabled="false" global="true" icon="ui-icon ui-icon-image" id="j_idt31" immediate="false" inView="true" rendered="true" transient="false" url="/images/index.jsf" value="Images"/>

<MenuItem ajax="true" async="false" disabled="false" global="true" icon="ui-icon ui-icon-pencil" id="j_idt32" immediate="false" inView="true" rendered="true" transient="false" url="/snapshots/index.jsf" value="Snapshots"/>

<MenuItem ajax="true" async="false" disabled="false" global="true" icon="ui-icon ui-icon-document" id="j_idt33" immediate="false" inView="true" rendered="true" transient="false" url="/reports/index.jsf" value="Reports"/>

<Submenu icon="ui-icon ui-icon-wrench" id="j_idt34" inView="true" label="Administration" rendered="true" transient="false">

<MenuItem ajax="true" async="false" disabled="false" global="true" id="j_idt35" immediate="false" inView="true" rendered="true" transient="false" url="/admin/users.jsf" value="Users"/>

<MenuItem ajax="true" async="false" disabled="false" global="true" id="j_idt36" immediate="false" inView="true" rendered="true" transient="false" url="#" value="Roles"/>

<MenuItem ajax="true" async="false" disabled="false" global="true" id="j_idt37" immediate="false" inView="true" rendered="true" transient="false" url="#" value="Reports"/>

</Submenu>

<Submenu icon="ui-icon ui-icon-help" id="j_idt38" inView="true" label="Help" rendered="true" transient="false"/>

</Menubar>

<UINamingContainer id="j_idt39" inView="true" rendered="true" transient="false">
javax.faces.component.COMPOSITE_FACET_NAME

<UIPanel inView="true" rendered="true" transient="false">

<HtmlPanelGrid border="-2147483648" columns="10" id="j_idt40" inView="true" rendered="true" transient="false">

<HtmlOutputText escape="true" id="j_idt41" inView="true" rendered="true" transient="false" value="Site"/>

<SelectOneMenu disabled="false" effect="blind" effectDuration="400" height="2147483647" id="site" immediate="false" inView="true" localValueSet="false" readonly="false" rendered="true" required="false" style="width: 140px" transient="false" valid="true" value="1">

<UISelectItems id="j_idt42" inView="true" rendered="true" transient="false"/>

</SelectOneMenu>

<HtmlOutputText escape="true" id="j_idt43" inView="true" rendered="true" transient="false" value="Pit"/>

<SelectOneMenu disabled="false" effect="blind" effectDuration="400" height="2147483647" id="pit" immediate="false" inView="true" localValueSet="false" readonly="false" rendered="true" required="false" style="width: 140px" transient="false" valid="true" value="1">

<UISelectItems id="j_idt44" inView="true" rendered="true" transient="false"/>

</SelectOneMenu>

<HtmlOutputText escape="true" id="j_idt45" inView="true" rendered="true" transient="false" value="Mine Time:"/>

<HtmlOutputText escape="true" id="j_idt46" inView="true" rendered="true" transient="false" value="current time"/>

<HtmlOutputText escape="true" id="j_idt47" inView="true" rendered="true" transient="false" value="Deployments From:"/>

<Calendar disabled="false" disabledWeekends="false" effect="slideDown" effectDuration="normal" id="j_idt48" immediate="false" inView="true" localValueSet="false" maxHour="23" maxMinute="59" maxSecond="59" maxlength="-2147483648" minHour="0" minMinute="0" minSecond="0" mode="popup" navigator="false" pages="1" pattern="MM/dd/yyyy" popupIconOnly="false" readOnlyInputText="false" readonly="false" rendered="true" required="false" selectOtherMonths="false" showButtonPanel="false" showOn="focus" showOtherMonths="false" showWeek="false" size="-2147483648" stepHour="1" stepMinute="1" stepSecond="1" timeOnly="false" transient="false" valid="true"/>

<HtmlOutputText escape="true" id="j_idt49" inView="true" rendered="true" transient="false" value="Deployments To:"/>

<Calendar disabled="false" disabledWeekends="false" effect="slideDown" effectDuration="normal" id="j_idt50" immediate="false" inView="true" localValueSet="false" maxHour="23" maxMinute="59" maxSecond="59" maxlength="-2147483648" minHour="0" minMinute="0" minSecond="0" mode="popup" navigator="false" pages="1" pattern="MM/dd/yyyy" popupIconOnly="false" readOnlyInputText="false" readonly="false" rendered="true" required="false" selectOtherMonths="false" showButtonPanel="false" showOn="focus" showOtherMonths="false" showWeek="false" size="-2147483648" stepHour="1" stepMinute="1" stepSecond="1" timeOnly="false" transient="false" valid="true"/>

</HtmlPanelGrid>

</UIPanel>

</UINamingContainer>

</LayoutUnit>

</Layout>

</HtmlForm>

</UIOutput>

</html>

</UIViewRoot>

+ Scoped Variables
31 Jul 2011 7:40:44 AM - Generated by Mojara/Facelets
Primefaces 3.0.1
Tomcat 7.0.22
Mojarra JSF 2.1.6

robert.m
Posts: 226
Joined: 07 Dec 2010, 22:52
Location: Salzburg/Austria

31 Jul 2011, 02:52

Could you please provide the complete code or your xhtml-page?

as you tried updating id's like "j_idt8" i assume that you have a lot of generic id's, as these are automatically generated id's for components with no id specified.
The update-string depends on the form and all the naming-containers the updated component is located in. Therefore we need the complete code of your page

taskman
Posts: 26
Joined: 25 Jun 2010, 19:03

01 Aug 2011, 00:47

masterLayout.xhtml
All my pages extend this file. index.xhtml extends this file

Code: Select all

<!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:p="http://primefaces.prime.com.tr/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <!-- swf object (version 2.2) is used to detect if flash is installed and include swf in the page -->
        <script type="text/javascript" src="../amcharts/flash/swfobject.js"></script>

        <!-- following scripts required for JavaScript version. The order is important! -->
        <script type="text/javascript" src="../amcharts/javascript/amcharts.js"></script>
        <script type="text/javascript" src="../amcharts/javascript/amfallback.js"></script>
        <script type="text/javascript" src="../amcharts/javascript/raphael.js"></script>

        <style type="text/css">
            .ui-widget {
                font-size: 75%;
            }

            .themeMenu {
                overflow: auto;
                height:300px;
                width:200px;
            }

            .ui-layout-north {
                z-index:20 !important;
                overflow:visible;
            }

            .ui-layout-north .ui-layout-unit-content {
                overflow:visible;
            }
        </style>

        <title>GeoSeer</title>
    </h:head>
    <h:body>
        <h:form>
        <p:layout fullPage="true">
            <ui:debug hotkey="s" rendered="true"/>

            <p:layoutUnit position="center">                  
                <ui:insert name="content">
                    
                </ui:insert>
            </p:layoutUnit>  

            <p:layoutUnit position="north" size="100" header="Menu" resizable="true">  
                
                    <p:menubar>
                        <p:menuitem value="Home" url="/index.jsf" icon="ui-icon ui-icon-home" />
                        <p:submenu label="Analysis" icon="ui-icon ui-icon-script">
                            <p:menuitem value="Deformation" url="/analysis/deformation.jsf" />
                            <p:menuitem value="Correction" url="/analysis/correction.jsf" />
                            <p:menuitem value="Velocity" url="/analysis/deformation.jsf" />
                        </p:submenu>                        
                        <p:menuitem value="Figures" url="/figures/figuresIndex.jsf" icon="ui-icon ui-icon-gear" />
                        <p:menuitem value="Alarms" url="/alarms/alarmsIndex.jsf" icon="ui-icon ui-icon-clock" />
                        <p:menuitem value="Images" url="/images/index.jsf" icon="ui-icon ui-icon-image" />
                        <p:menuitem value="Snapshots" url="/snapshots/index.jsf" icon="ui-icon ui-icon-pencil" />
                        <p:menuitem value="Reports" url="/reports/index.jsf" icon="ui-icon ui-icon-document"/>
                        <p:submenu label="Administration" icon="ui-icon ui-icon-wrench">
                            <p:menuitem value="Users" url="/admin/users.jsf" />
                            <p:menuitem value="Roles" url="#" />
                            <p:menuitem value="Reports" url="#" />
                        </p:submenu>                        
                        <p:submenu label="Help" icon="ui-icon ui-icon-help">
                        </p:submenu>                        
                    </p:menubar>      

                    <ui:insert name="siteSelection">

                    </ui:insert>
                
            </p:layoutUnit>  

        </p:layout>  
    </h:form>
    </h:body>
</html>
Primefaces 3.0.1
Tomcat 7.0.22
Mojarra JSF 2.1.6

taskman
Posts: 26
Joined: 25 Jun 2010, 19:03

01 Aug 2011, 00:47

index.xhtml

Code: Select all

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                template="/templates/masterLayout.xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.prime.com.tr/ui"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:home="http://java.sun.com/jsf/composite/components/home">

    <ui:define name="siteSelection">
        <home:siteSelection treeInitMethod="#{homeTreeBean.init}" update="checkboxTree"/>
    </ui:define>
    
    <ui:define name="content">
        <p:layout>
            <p:layoutUnit position="west" header="SSR List" resizable="true" size="330">
                
                    <p:tree value="#{homeTreeBean.root}" var="node" dynamic="true" cache="false" 
                            id="checkboxTree"  
                            selectionMode="checkbox"  
                            selection="#{homeTreeBean.selectedNode}" expanded="true" >  
                        
                        <p:ajax event="select" listener="#{homeTreeBean.onNodeSelect}" />         
                        <p:ajax event="unselect" listener="#{homeTreeBean.onNodeUnselect}" />         
                        <p:treeNode>  
                            <h:outputText value="#{node}" />  
                        </p:treeNode>  
                    </p:tree>    
                
            </p:layoutUnit>

            <p:layoutUnit position="center">
                
                    <p:tabView>  
                        <p:tab title="Home View">  
                            <h:panelGrid columns="2" cellpadding="10">  
                            </h:panelGrid>  
                        </p:tab>  

                        <p:tab title="Scan Area">  
                            <h:panelGrid columns="2" cellpadding="10">  
                            </h:panelGrid>  
                        </p:tab>  
                    </p:tabView>  
                
            </p:layoutUnit>
        </p:layout>
    </ui:define> 
</ui:composition>
Primefaces 3.0.1
Tomcat 7.0.22
Mojarra JSF 2.1.6

taskman
Posts: 26
Joined: 25 Jun 2010, 19:03

01 Aug 2011, 00:48

siteSelection.xhtml

Code: Select all

<ui:component 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:c="http://java.sun.com/jsp/jstl/core"      
              xmlns:cc="http://java.sun.com/jsf/composite"
              xmlns:p="http://primefaces.prime.com.tr/ui">
    <cc:interface>
        <cc:attribute name="treeInitMethod" method-signature="void listener()" required="true" />
        <cc:attribute name="update" required="true"/>
    </cc:interface>
    <cc:implementation>
        <h:panelGrid columns="10">
            <h:outputText value="Site" />
            <p:selectOneMenu id="site" style="width: 140px" value="#{homeBean.selectedSite}">
                <f:selectItems value="#{homeBean.siteList}" var="site" itemLabel="#{site.name}" itemValue="#{site.id}" />  
                <p:ajax update="pit" listener="#{homeBean.onSiteChange}" />  
            </p:selectOneMenu>  

            <h:outputText value="Pit" />
            <p:selectOneMenu id="pit" style="width: 140px" value="#{homeBean.selectedPit}">  
                <f:selectItems value="#{homeBean.pitList}" var="pit" itemLabel="#{pit.name}" itemValue="#{pit.id}" />  
                <p:ajax update="checkboxTree" listener="#{cc.attrs.treeInitMethod}" />
            </p:selectOneMenu>  

            <h:outputText value="Mine Time:" />
            <h:outputText value="current time" />

            <h:outputText value="Deployments From:" />
            <p:calendar effect="slideDown"/>  

            <h:outputText value="Deployments To:" />
            <p:calendar effect="slideDown"/> 
        </h:panelGrid>                
    </cc:implementation>
</ui:component>

Primefaces 3.0.1
Tomcat 7.0.22
Mojarra JSF 2.1.6

taskman
Posts: 26
Joined: 25 Jun 2010, 19:03

01 Aug 2011, 23:41

Hi

I have been trying more combinations, just can't update my tree component. Any ideas please?
Primefaces 3.0.1
Tomcat 7.0.22
Mojarra JSF 2.1.6

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 50 guests