[jboss-user] [JBoss Seam] - Re: javax.el.ELException , unable to localize the error
dkane
do-not-reply at jboss.com
Tue Jun 19 11:59:14 EDT 2007
The bean (quite similar to "HotelSearchAction in booking example"):
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.Factory;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.Scope;
| import org.jboss.seam.annotations.datamodel.DataModel;
| import org.jboss.seam.annotations.security.Restrict;
|
| @Stateful
| @Name("partSearch")
| @Scope(ScopeType.SESSION)
| //@Restrict("#{identity.loggedIn}")
| public class PartSearchAction implements PartSearch
| {
|
| @PersistenceContext
| private EntityManager em;
|
| private String searchString;
| private int pageSize = 10;
| private int page;
|
| @DataModel
| private List<PartCMP> parts;
|
| //-------------------------------------------------------------------------------------
| //
|
| private void doSearch()
| {
| parts = em.createQuery("select p from PartCMP p where partnumber like #{pattern}")
| .setMaxResults(pageSize)
| .setFirstResult( page * pageSize )
| .getResultList();
| }
|
| //-------------------------------------------------------------------------------------
| //
| public void findParts()
| {
| page = 0;
| doSearch();
| //return("main");
| }
|
| //-------------------------------------------------------------------------------------
| //
| public int getPageSize()
| {
| return(pageSize);
| }
|
| //-------------------------------------------------------------------------------------
| //
| public String getSearchString()
| {
| return(searchString);
| }
|
| //-------------------------------------------------------------------------------------
| //
| public boolean isNextPageAvailable()
| {
| return(parts!=null && parts.size()==pageSize);
| }
| //-------------------------------------------------------------------------------------
| //
| public void nextPage()
| {
| page++;
| doSearch();
| }
| //-------------------------------------------------------------------------------------
| //
| public void setPageSize(int pageSize)
| {
| this.pageSize = pageSize;
| }
|
| //-------------------------------------------------------------------------------------
| //
| public void setSearchString(String searchString)
| {
| this.searchString = searchString;
| }
|
| //-------------------------------------------------------------------------------------
| //
| @Factory(value="pattern", scope=ScopeType.EVENT)
| public String getSearchPattern()
| {
| return(searchString==null ? "%" : '%' + searchString.toLowerCase().replace('*', '%') + '%');
| }
|
| //-------------------------------------------------------------------------------------
| //
| @Destroy @Remove
| public void destroy()
| {}
|
| }
|
xhtml form :
<h:form id="searchCriteria">
| <fieldset>
| <h:inputText id="searchString" value="#{partSearch.searchString}" style="width: 165px;">
| </h:inputText>
|
| <a:commandButton id="findPartsBtn" value="Find part" action="#{partSearch.findParts}" reRender="searchResults"/>
| <a:status>
| <f:facet name="start">
| <h:graphicImage value="/img/spinner.gif"/>
| </f:facet>
| </a:status>
| <br/>
| <h:outputLabel for="pageSize">Maximum results:</h:outputLabel>
| <h:selectOneMenu value="#{partSearch.pageSize}" id="pageSize">
| <f:selectItem itemLabel="5" itemValue="5"/>
| <f:selectItem itemLabel="10" itemValue="10"/>
| <f:selectItem itemLabel="20" itemValue="20"/>
| </h:selectOneMenu>
| </fieldset>
| </h:form>
|
When I comment the link to #{partSearch.findParts} (command button code), page is displayed fine , although calls to other partSearch methods exist in this page.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4055700#4055700
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4055700
More information about the jboss-user
mailing list