Usando Eclipse(pespectiva Seam)+JBoss Tools+Seam+JBoss AS
Contruindo projeto(EAR) com acesso a banco de dados MySql, testada a conexão: OK!
No Eclipse: File–> New --> Seam Generate Entities: OK!
Levanto o Servidor(JBoss), quando acesso o modelo(Firefox) na aba “Browse Data” tabela “Fornecedores list” do Banco
DÁ ESSE ERRO:
An Error Occurred:
/FornecedoresList.xhtml: Error reading ‘resultList’ on type org.domain.alex.session.FornecedoresList_$$_javassist_seam_2
AQUI O “FornecedoresList.xhtml”
<!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">
<ui:define name="body">
<h:form id="fornecedoresSearch" styleClass="edit">
<rich:simpleTogglePanel label="Fornecedores Search Filter" switchType="ajax">
<s:decorate template="layout/display.xhtml">
<ui:define name="label">Nome</ui:define>
<h:inputText id="nome" value="#{fornecedoresList.fornecedores.nome}"/>
</s:decorate>
<s:decorate template="layout/display.xhtml">
<ui:define name="label">Endereco</ui:define>
<h:inputText id="endereco" value="#{fornecedoresList.fornecedores.endereco}"/>
</s:decorate>
<s:decorate template="layout/display.xhtml">
<ui:define name="label">Match</ui:define>
<h:selectOneRadio id="logic" value="#{fornecedoresList.restrictionLogicOperator}" styleClass="radio">
<f:selectItem itemLabel="All" itemValue="and"/>
<f:selectItem itemLabel="Any" itemValue="or"/>
</h:selectOneRadio>
</s:decorate>
</rich:simpleTogglePanel>
<div class="actionButtons">
<h:commandButton id="search" value="Search" action="/FornecedoresList.xhtml"/>
<s:button id="reset" value="Reset" includePageParams="false"/>
</div>
</h:form>
<rich:panel>
<f:facet name="header">Fornecedores Search Results (#{empty fornecedoresList.resultList ? 0 : (fornecedoresList.paginated ? fornecedoresList.resultCount : fornecedoresList.resultList.size)})</f:facet>
<div class="results" id="fornecedoresList">
<h:outputText value="The fornecedores search returned no results."
rendered="#{empty fornecedoresList.resultList}"/>
<rich:dataTable id="fornecedoresList"
var="_fornecedores"
value="#{fornecedoresList.resultList}"
rendered="#{not empty fornecedoresList.resultList}">
<h:column>
<f:facet name="header">
<ui:include src="layout/sort.xhtml">
<ui:param name="entityList" value="#{fornecedoresList}"/>
<ui:param name="propertyLabel" value="Id"/>
<ui:param name="propertyPath" value="fornecedores.id"/>
</ui:include>
</f:facet>
<h:outputText value="#{_fornecedores.id}"/>
</h:column>
<h:column>
<f:facet name="header">
<ui:include src="layout/sort.xhtml">
<ui:param name="entityList" value="#{fornecedoresList}"/>
<ui:param name="propertyLabel" value="Nome"/>
<ui:param name="propertyPath" value="fornecedores.nome"/>
</ui:include>
</f:facet>
<h:outputText value="#{_fornecedores.nome}"/>
</h:column>
<h:column>
<f:facet name="header">
<ui:include src="layout/sort.xhtml">
<ui:param name="entityList" value="#{fornecedoresList}"/>
<ui:param name="propertyLabel" value="Endereco"/>
<ui:param name="propertyPath" value="fornecedores.endereco"/>
</ui:include>
</f:facet>
<h:outputText value="#{_fornecedores.endereco}"/>
</h:column>
<rich:column styleClass="action">
<f:facet name="header">Action</f:facet>
<s:link view="/#{empty from ? 'Fornecedores' : from}.xhtml"
value="#{empty from ? 'View' : 'Select'}"
propagation="#{empty from ? 'none' : 'default'}"
id="fornecedoresViewId">
<f:param name="fornecedoresId"
value="#{_fornecedores.id}"/>
</s:link>
#{' '}
<s:link view="/FornecedoresEdit.xhtml"
value="Edit"
propagation="none"
id="fornecedoresEdit"
rendered="#{empty from}">
<f:param name="fornecedoresId"
value="#{_fornecedores.id}"/>
</s:link>
</rich:column>
</rich:dataTable>
</div>
</rich:panel>
<div class="tableControl">
<s:link view="/FornecedoresList.xhtml"
rendered="#{fornecedoresList.previousExists}"
value="#{messages.left}#{messages.left} First Page"
id="firstPage">
<f:param name="firstResult" value="0"/>
</s:link>
<s:link view="/FornecedoresList.xhtml"
rendered="#{fornecedoresList.previousExists}"
value="#{messages.left} Previous Page"
id="previousPage">
<f:param name="firstResult"
value="#{fornecedoresList.previousFirstResult}"/>
</s:link>
<s:link view="/FornecedoresList.xhtml"
rendered="#{fornecedoresList.nextExists}"
value="Next Page #{messages.right}"
id="nextPage">
<f:param name="firstResult"
value="#{fornecedoresList.nextFirstResult}"/>
</s:link>
<s:link view="/FornecedoresList.xhtml"
rendered="#{fornecedoresList.nextExists}"
value="Last Page #{messages.right}#{messages.right}"
id="lastPage">
<f:param name="firstResult"
value="#{fornecedoresList.lastFirstResult}"/>
</s:link>
</div>
<s:div styleClass="actionButtons" rendered="#{empty from}">
<s:button view="/FornecedoresEdit.xhtml"
id="create"
propagation="none"
value="Create fornecedores">
<f:param name="fornecedoresId"/>
</s:button>
</s:div>
</ui:define>
</ui:composition>
AQUI A CLASSE: “FornecedoresList”
package org.domain.alex.session;
import org.domain.alex.entity.*;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.framework.EntityQuery;
import java.util.Arrays;
@Name("fornecedoresList")
public class FornecedoresList extends EntityQuery<Fornecedores> {
private static final String EJBQL = "select fornecedores from Fornecedores fornecedores";
private static final String[] RESTRICTIONS = {
"lower(fornecedores.nome) like lower(concat(#{fornecedoresList.fornecedores.nome},'%'))",
"lower(fornecedores.endereco) like lower(concat(#{fornecedoresList.fornecedores.endereco},'%'))", };
private Fornecedores fornecedores = new Fornecedores();
public FornecedoresList() {
setEjbql(EJBQL);
setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));
setMaxResults(25);
}
public Fornecedores getFornecedores() {
return fornecedores;
}
}