[jboss-user] [JBoss Seam] - javax.el.PropertyNotFoundException
tkuchheuser
do-not-reply at jboss.com
Fri Dec 28 07:32:04 EST 2007
Hello everyone,
i've got a problem with some code (mainly copied from the booking example).
I use Jboss AS 4.2.2 with SEAM 2.0.0.
The Booking-Example works fine.
However my own page pr_overview.xhtml:
| <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">
|
| <h:messages globalOnly="true" styleClass="message" />
| <br />
| <rich:panel>
| <f:facet name="header">ProbandenÃÂÃÂÃÂÃÂÃÂÃÂÃÂübersicht</f:facet>
| <rich:panel>
| <h:form id="searchCriteria">
| <h:panelGrid columns="4">
| <h:outputText value="Name: " />
| <h:inputText id="searchStringName"
| value="#{subjectSearch.searchString}" />
|
| <a4j:commandButton value="Suche" id="findSubjects"
| action="#{subjectSearch.runQuery}" reRender="searchResults" />
| </h:panelGrid>
| </h:form>
| </rich:panel>
|
with the backing bean:
| import java.util.List;
|
| import javax.ejb.Remove;
| import javax.ejb.Stateful;
| import javax.persistence.EntityManager;
| import javax.persistence.PersistenceContext;
|
| import org.jboss.seam.ScopeType;
| import org.jboss.seam.annotations.Destroy;
| import org.jboss.seam.annotations.Logger;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.Scope;
| import org.jboss.seam.annotations.datamodel.DataModel;
|
| import de.itecra.pdb.model.Proband;
|
| @Stateful
| @Name("subjectSearch")
| @Scope(ScopeType.SESSION)
| public class SubjectSearchAction implements SubjectSearch {
|
| @Logger("SubjectSearch")
| org.jboss.seam.log.Log log;
|
| @PersistenceContext
| private EntityManager em;
|
| @DataModel
| private List<Proband> listSubjectsResults;
|
| /** SEARCH FIELDS */
| private String searchString;
|
| /** METHODS */
| public void runQuery() {
|
| listSubjectsResults = em.createQuery("FROM Proband").getResultList();
| log.info("RunQuery");
| }
|
| /** GETTERS AND SETTERS */
| public String getSearchString() {
| return searchString;
| }
|
| public void setSearchString(String searchString) {
| this.searchString = searchString;
| }
|
| /** COMMON METHODS */
|
| @Remove
| @Destroy
| public void destroy() {
| }
|
| }
|
|
throws the exception:
anonymous wrote :
| javax.faces.FacesException: javax.el.PropertyNotFoundException: /pr_overview.xhtml @23,48 value="#{subjectSearch.searchString}": Property 'searchString' not found on type org.javassist.tmp.java.lang.Object_$$_javassist_0
| at javax.faces.component.UIOutput.getValue(UIOutput.java:176)
| at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:189)
| at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:320)
| at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:200)
| at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
| at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:279)
| at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:242)
| at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
| at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
| at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
| at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:282)
| at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
| at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:199)
| at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:194)
| at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:121)
| at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
| at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:282)
| at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
| at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:199)
| at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:194)
| at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:121)
| at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
| at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
| at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
| at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
| at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
|
| [...]
|
|
However using the runQuery() Method and accesing listSubjectResults works fine:
| <a4j:commandButton value="Suche" id="findSubjects"
| action="#{subjectSearch.runQuery}" reRender="searchResults" />
|
| <a4j:outputPanel id="searchResults">
| <rich:dataTable id="subjects" value="#{listSubjectsResults}"
| var="subject" rendered="#{listSubjectsResults.size>0}">
| <rich:column>
| <f:facet name="header">Nachname</f:facet>
| #{subject.nachname}
| </rich:column>
| <rich:column>
| <f:facet name="header">Vorname</f:facet>
| #{subject.vorname}
| </rich:column>
| <rich:column>
| <f:facet name="header">Geburtsdatum</f:facet>
| <h:outputText value="#{subject.geburtsdatum}">
| <s:convertDateTime pattern="DD.MM.yyyy" />
| </h:outputText>
| </rich:column>
| <rich:column>
| <f:facet name="header">Identifikation</f:facet>
| #{subject.code_zahl}
| </rich:column>
| <rich:column>
| <f:facet name="header">Aktion</f:facet>
| <s:link value="ÃÂÃÂÃÂÃÂffnen" id="openSubject" />
| <!--
| <s:link value="Untersuchung" />
| <s:link value="Studie" />
| -->
| </rich:column>
| </rich:dataTable>
| </a4j:outputPanel>
|
|
Idea anyone?
Thanks for advice or links.
Timo
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4115892#4115892
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4115892
More information about the jboss-user
mailing list