1 Reply Latest reply on Jul 21, 2008 6:23 PM by jguglielmin

    Multiple pages on a portlet with Icefaces + Seam + Facelets

    tomx

      I want to convert my web application into a portlet on liferay.


      My welcome page is well rendered into the portlet frame, but I have a problem when I try to call a redirect action to another


      page. These pages seem to try rendering out of portlet context, and seam conversation is over.


      I can't see any error, but the URL is kind of http://localhost:8080/appliweb/search/page.seam, and not liferay-style.


      I just receive the message below :



      17:10:50,359 INFO  [lifecycle] WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
      sourceId=null[severity=(WARN 1), summary=(The conversation ended, timed out or was processing another request), detail=(The conversation ended, timed out or was processing another request)]



      Here is my pages.xml:



      <pages xmlns="http://jboss.com/products/seam/pages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.0.xsd"
          no-conversation-view-id="/search/list.xhtml">
      
          <conversation name="ViewSearch" parameter-name="searchId" parameter-value="#{viewedSearch.id}" />
      
          <page view-id="/search/list.xhtml">
      
              <navigation from-action="#{searchView.selectSearch(s)}">
                  <redirect view-id="/search/view.xhtml" />
              </navigation>
              
          </page>
      
      </pages>



      faces-config.xml



      <faces-config>
      
          <application>
              <view-handler>com.icesoft.faces.facelets.D2DSeamFaceletViewHandler</view-handler>
          </application>
      
      </faces-config>



      list.xhtml



      <ui:define name="content">
          <ice:form>
              <ice:dataTable id="searchTable" rows="10"
                  columnClasses="typeColumn, titleColumn, startDateColumn, endDateColumn, leadingUnitColumn"
                  rowClasses="oddRow, evenRow" sortColumn="#{searchList.sortedColumn}"
                  sortAscending="#{searchList.ascending}" value="#{searchList.list}" var="s" 
                  scrollHeight="310px" scrollable="true" columnWidths="24px,560px,70px,70px,200px">
      
                  <ice:column id="typeColumn">
      
                      <ice:graphicImage url="/img/search/image.png"
                          rendered="#{searchAxesList.getType(s) == 'OK'}"/>
      
                      <ice:rowSelector value="false" selectionAction="#{searchView.select(s)}" />
                  </ice:column>
      
              </ice:dataTable>
              
          </ice:form>
      </ui:define>



      What can I do if I want to keep the navigation and pages into the portlet ?