Facelet view params problem
idyoshin Nov 24, 2009 2:12 PMGood day.
Haven't found the similar problem, so the new post:
I have a common template for objects:
<ui:composition 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:s="http://jboss.com/products/seam/taglib"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
<s:decorate template="/layout/edit.xhtml">
<ui:define name="label"><h:outputText value="код"/></ui:define>
<h:inputText value="#{instance.id}" required="true" rendered="#{not entityManager.contains(instance)}"/>
<h:outputText value="#{instance.id}" rendered="#{entityManager.contains(instance)}"/>
</s:decorate>
<s:decorate template="/layout/edit.xhtml">
<ui:define name="label"><h:outputText value="Опис"/></ui:define>
<h:inputText value="#{instance.description}" required="true"/>
</s:decorate>
<s:decorate template="/layout/edit.xhtml">
<ui:define name="label"><h:outputText value="Коментарі"/></ui:define>
<rich:editor value="#{instance.comments}"></rich:editor>
</s:decorate>
<s:decorate template="/layout/edit.xhtml">
<ui:define name="label"><h:outputText value="Дані перевірено"/></ui:define>
<h:selectOneRadio value="#{instance.valid}" >
<f:selectItem itemLabel="Так" itemValue="#{true}"/>
<f:selectItem itemLabel="Ні" itemValue="#{false}"/>
</h:selectOneRadio>
</s:decorate>
</ui:composition>and I'm creating some form for objects, that are subclasses of the common object (additional field is created):
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
<h3>Довідник реєстрації</h3>
<s:decorate template="../common_edit.xhtml">
<ui:param name="instance" value="#{sprRegistrationEntityHome.instance}"/>
</s:decorate>
<s:decorate template="/layout/edit.xhtml">
<ui:define name="label"><h:outputText value="Є резидентом країни страхувальника" /></ui:define>
<h:selectOneRadio value="#{sprRegistrationEntityHome.instance.resident}">
<f:selectItem itemValue="#{true}" itemLabel="Так"/>
<f:selectItem itemValue="#{false}" itemLabel="Ні"/>
</h:selectOneRadio>
</s:decorate>
</ui:composition>And I'd like to include that in common grid and modalPanel editor:
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
template="/layout/template.xhtml"
xmlns:a4j="http://richfaces.org/a4j">
<ui:define name="body">
<h3>Типи адрес</h3>
<a4j:form>
<rich:dataTable value="#{sprRegistrationEntityHome.resultList}" var="vv" id="tableForm">
<rich:column>
<f:facet name="header"> <h:outputText value="код"/></f:facet>
<h:outputText value="#{vv.id}" />
</rich:column>
<rich:column>
<f:facet name="header"> <h:outputText value="Значення"/></f:facet>
<h:outputText value="#{vv.description}" />
</rich:column>
<rich:column>
<f:facet name="header"> <h:outputText value="Коментарі"/></f:facet>
<h:outputText value="#{vv.comments}" escape="false"/>
</rich:column>
<rich:column>
<f:facet name="header"> <h:outputText value="Коментарі"/></f:facet>
</rich:column>
<rich:column>
<f:facet name="header"> <h:outputText value=""/></f:facet>
<a4j:commandButton value="Редагувати" id="editorLink" >
<rich:componentControl for="editorPanel" attachTo="editorLink" operation="show" event="onclick"/>
<a4j:support reRender="editorForm" event="onclick">
<f:setPropertyActionListener value="#{vv.id}" target="#{sprRegistrationEntityHome.id}" />
</a4j:support>
</a4j:commandButton>
</rich:column>
</rich:dataTable>
</a4j:form>
<rich:modalPanel id="editorPanel" autosized="true" width="500" keepVisualState="true">
<a4j:outputPanel id="editorForm">
<a4j:form>
<h:panelGrid>
<ui:decorate template="edit.xhtml"/>
<h:panelGrid columns="2">
<a4j:commandButton action="#{sprRegistrationEntityHome.save()}" value="Зберегти" reRender="tableForm">
</a4j:commandButton>
<a4j:commandButton value="Закрити" id="hideLink" >
<rich:componentControl for="editorPanel" attachTo="hideLink" operation="hide" event="onclick"/>
</a4j:commandButton>
</h:panelGrid>
</h:panelGrid>
</a4j:form>
</a4j:outputPanel>
</rich:modalPanel>
</ui:define>
</ui:composition>First of all nothing is loaded into the form-fields - they are empty. And when I click save button I'm receiving exception :
javax.el.PropertyNotFoundException: /crud/spr/common/common_edit.xhtml @11,107 value="#{instance.id}": Target Unreachable, identifier 'instance' resolved to nullAny idea??