Hi,
I'm learning seam at the moment and wonder what I'm doing wrong.
Note:
Read a previous post with the same problem where the problem was solved by
switching form tomahawk datatable to standard datatable.
I have tried with both standard datatable and richfaces one, but the problem
persists.
I'm trying to implement a simple search/select/edit/save use case with seam in
order to learn how to use some of the features (annotations, scopes and
pageflow).
But in the search part of the flow, the first row is always outjected..
And I just started with Seam yesterday, so please point out any tips you have
for me :-)
Backing bean:
| @Name("riskAddonBacking")
| @Scope( ScopeType.CONVERSATION)
| public class CountryRiskAddonBacking implements Serializable{
|
| /**
| *
| */
| private static final long serialVersionUID = 1L;
|
| @DataModel
| private List<CountryRiskAddonBean> searchResults;
|
| @DataModelSelection
| @Out(required=false)
| private CountryRiskAddonBean selectedItem;
|
| private String searchPattern;
|
| @Begin(pageflow="countryaddon")
| public void startPageFlow(){
|
| }
|
| public String performSearch(){
|
| int nbrHits = RandomUtils.nextInt()%10;
| List<CountryRiskAddonBean> tmpList = new
ArrayList<CountryRiskAddonBean>(nbrHits);
| for(int i=0; i<nbrHits; i++ ){
| CountryRiskAddonBean cab = new CountryRiskAddonBean();
| cab.setTicketNumber("RSK-" +
(RandomUtils.nextInt()%10000) );
| cab.setCptyName("CptyXYZ");
| cab.setCountryOfRisk("SWE");
| tmpList.add( cab );
| }
| searchResults = tmpList;
|
| return null;
| }
|
| public String save(){
| System.out.println("SAAAAAAVVVVVVIIIIIIIIINNNNNNNNGGGGGGGG to
db");
|
| return "";
| }
|
| public String getSearchPattern() {
| return searchPattern;
| }
|
| public void setSearchPattern(String searchPattern) {
| this.searchPattern = searchPattern;
| }
| }
|
search.xhtml:
| <html 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:t="http://myfaces.apache.org/tomahawk"
| xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
| xmlns:rich="http://richfaces.ajax4jsf.org/rich"
| xmlns:s="http://jboss.com/products/seam/taglib">
| <body>
|
|
| <ui:composition template="/WEB-INF/layout/template.xhtml">
| <ui:param name="title" value="Pageflow Start"/>
|
| <ui:define name="body">
| <h:form>
| <s:decorate>
| <h:inputText id="srchPatt"
value="#{riskAddonBacking.searchPattern}" required="true"/>
| </s:decorate>
|
| <s:button action="#{riskAddonBacking.performSearch}"
value="Search"/>
|
| <h:outputText value="Found #{searchResults.rowCount}
hits"
|
rendered="#{searchResults.rowCount > 0}"/>
| </h:form>
|
|
| <h:form rendered="#{not empty searchResults}">
| <h:dataTable value="#{searchResults}"
| var="_item">
| <h:column>
| <f:facet name="header">
| Ticket Number
| </f:facet>
| #{_item.ticketNumber}
| </h:column>
| <h:column>
| <f:facet name="header">
| Counterparty
| </f:facet>
| #{_item.cptyName}
| </h:column>
| <h:column>
| <f:facet name="header">
| Country of Risk
| </f:facet>
| #{_item.countryOfRisk}
| </h:column>
| <h:column>
| <f:facet name="header">
| Risk Addon
| </f:facet>
| #{_item.riskAddon}
| </h:column>
| <h:column>
| <f:facet name="header">
| Add/Edit
| </f:facet>
|
| <s:link action="edit" value="Edit"
rendered="#{_item.riskAddon > 0}" />
| <s:link action="edit" value="Add"
rendered="#{_item.riskAddon == 0}"/>
| </h:column>
| </h:dataTable>
| <!--
| <rich:dataTable value="#{searchResults}"
| var="_item">
| <rich:column>
| <f:facet name="header">
| Ticket Number
| </f:facet>
| #{_item.ticketNumber}
| </rich:column>
| <rich:column>
| <f:facet name="header">
| Counterparty
| </f:facet>
| #{_item.cptyName}
| </rich:column>
| <rich:column>
| <f:facet name="header">
| Country of Risk
| </f:facet>
| #{_item.countryOfRisk}
| </rich:column>
| <rich:column>
| <f:facet name="header">
| Risk Addon
| </f:facet>
| #{_item.riskAddon}
| </rich:column>
| <rich:column>
| <f:facet name="header">
| Add/Edit
| </f:facet>
|
| <s:link action="edit" value="Edit"
rendered="#{_item.riskAddon > 0}" />
| <s:link action="edit" value="Add"
rendered="#{_item.riskAddon == 0}"/>
| </rich:column>
| </rich:dataTable>
| -->
| </h:form>
|
| </ui:define>
| </ui:composition>
|
| </body>
| </html>
|
countryaddon.jpdl.xml :
| <pageflow-definition
| xmlns="http://jboss.com/products/seam/pageflow"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation=
| "http://jboss.com/products/seam/pageflow
http://jboss.com/products/seam/pageflow-1.2.xsd"
| name="countryaddon">
|
| <start-state name="start">
| <transition to="searchPage"/>
| </start-state>
|
| <page view-id="/countryaddon/search.xhtml" name="searchPage">
| <redirect/>
| <transition name="edit" to="editPage"/>
| </page>
|
| <page view-id="/countryaddon/edit.xhtml" name="editPage">
| <redirect/>
| <transition name="approve" to="approvePage"/>
| </page>
|
| <page view-id="/countryaddon/approve.xhtml" name="approvePage">
| <redirect/>
| <transition name="save" to="endPage">
| <action expression="#{riskAddonBacking.save}"/>
| </transition>
| <transition name="prev" to="editPage"/>
| </page>
|
| <page view-id="/countryaddon/end.xhtml" name="endPage">
| <redirect/>
| <end-conversation/>
| </page>
|
| </pageflow-definition>
|
And OT, I get annoying error messages related to there not being a transaction,
from the ExceptionFilter. Is there a cure for this, read a post about this
problem but it didn't have a solution of how to get rid of it.
Cheers,
Mike
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4046891#4046891
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4046891
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user