I am new to MyFaces Trinidad component library and I am trying to do some 
pretty simple stuff.  I am experiencing a problem with getting the 
tr:commandButton to actually invoke the managed bean's method.  My setup is as 
follows:

- Ubuntu Linux 64-bit
- Sun JDK 1.6.0_20
- Tomcat 6.0.29
- Apache MyFaces JSF Core 1.2.9
- Apache MyFaces Trinidad 1.2.13
- Facelets 1.1.15
- Development IDE = Eclipse Helios

For testing I have made reduced the eventHandler method called by the Search 
Button do nothing but System.out.println("..."), to confirm if it is being 
called.  It is not.  Any ideas on what I am missing (something obvious, I am 
sure)?

Here is the xhtml file with the unresponsive commandButton:
--------------------------------------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<tr:document xmlns="http://www.w3.org/1999/xhtml";
             xmlns:h="http://java.sun.com/jsf/html";
             xmlns:f="http://java.sun.com/jsf/core";
             xmlns:ui="http://java.sun.com/jsf/facelets";
             xmlns:tr="http://myfaces.apache.org/trinidad";
               xmlns:trh="http://myfaces.apache.org/trinidad/html";>
               
<trh:head title="Litens Automotive Group - Agile Drawing Search"> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link href="css/stylesheet.css" rel="stylesheet" type="text/css" />
</trh:head>
   
    <tr:form id="form1">
       
        <tr:panelGroupLayout id="top" layout="horizontal" styleClass="greyBox">
            <tr:panelGroupLayout id="left" layout="vertical" 
styleClass="subContainer">
                  <tr:outputText value="Agile Drawing Search" 
inlineStyle="font-weight: bold; margin-bottom: 10px"/>
                  <tr:spacer height="10"/>
                  <tr:outputText value="Enter Part Number:"/>
                <tr:inputText id="searchString"
                              contentStyle="width: 200px"
                              maximumLength="20"
                              value="#{DrawingFetcherBean.searchString}" />
                <tr:commandButton text="Search"
                                  id="searchButton"
                                  partialSubmit="true"
                                  
actionListener="#{DrawingFetcherBean.loadDrawingResultsEventHandler}" />
            </tr:panelGroupLayout>
            <tr:panelGroupLayout id="right" layout="vertical">
                <h:graphicImage url="/cad_logo.jpg" alt="Logo" 
style="margin-right: 10px"/>
            </tr:panelGroupLayout>
        </tr:panelGroupLayout>       
       
        <tr:spacer height="30"/>
       
        <tr:panelGroupLayout id="bottom" layout="vertical" class="greyBox" 
partialTriggers="searchButton">
            <tr:outputText value="Search Results:" inlineStyle="font-weight: 
bold; margin-bottom: 10px"/>
            <tr:table var="searchResults"
            value="#{DrawingFetcherBean.drawingResults}"
            columns="4" columnBandingInterval="1">
                <tr:column headerText="Part Number" width="120px">   
                    <tr:outputText value="#{searchResults.partNumber}"/>
                </tr:column>
                <tr:column headerText="Revision">
                    <tr:outputText value="#{searchResults.revision}"/>
                </tr:column>
                <tr:column headerText="Part Type" width="150px">
                        <tr:outputText value="#{searchResults.partType}"/>
                </tr:column>
                <tr:column headerText="File Name" width="100px">
                        <tr:outputText value="#{searchResults.fileName}"/>
                   </tr:column>
                <tr:column headerText="_____">
                    <h:commandButton value="Get" action="Submit" />
                </tr:column>
            </tr:table>
        </tr:panelGroupLayout>
    </tr:form>
</tr:document>

--------------------------------------------------------------------------------------------------

Here is the managed bean snippet:

public class DrawingFetcher implements Serializable
{
    String searchString;
    String fileName;
    ...
    ...
    public void loadDrawingResultsEventHandler(ActionEvent event)
    {
        System.out.println("Drawing Results loaded!");
    }
}


Here is the web.xml:
--------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns="http://java.sun.com/xml/ns/javaee"; 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"; 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"; id="WebApp_ID" version="2.5">
  <display-name>Test_Trinidad</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>
  <!-- FaceletViewHandler configuration -->
  <context-param>
    <param-name>org.apache.myfaces.trinidad.ALTERNATE_VIEW_HANDLER</param-name>
    
<param-value>org.apache.myfaces.trinidadinternal.facelets.TrinidadFaceletViewHandler</param-value>
  </context-param>
  <!-- Use documents saved as *.xhtml for Facelets -->
  <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
  </context-param>
  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>resources.application</param-value>
  </context-param>
  <context-param>
    <description>State saving method: 'client' or 'server' (=default). See JSF 
Specification 2.5.2</description>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
  </context-param>
  <context-param>
    <description>
    This parameter tells MyFaces if javascript code should be allowed in
    the rendered HTML output.
    If javascript is allowed, command_link anchors will have javascript code
    that submits the corresponding form.
    If javascript is not allowed, the state saving info and nested parameters
    will be added as url parameters.
    Default is 'true'</description>
    <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
    <param-value>true</param-value>
  </context-param>
  <context-param>
    <description>
    If true, rendered HTML code will be formatted, so that it is 
'human-readable'
    i.e. additional line separators and whitespace will be written, that do not
    influence the HTML code.
    Default is 'true'</description>
    <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
    <param-value>true</param-value>
  </context-param>
  <context-param>
    <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
    <param-value>false</param-value>
  </context-param>
  <context-param>
    <description>
    If true, a javascript function will be rendered that is able to restore the
    former vertical scroll on every request. Convenient feature if you have 
pages
    with long lists and you do not want the browser page to always jump to the 
top
    if you trigger a link or button action that stays on the same page.
    Default is 'false'
</description>
    <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
    <param-value>true</param-value>
  </context-param>
  <listener>
    
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
  </listener>
</web-app>

Here is the faces-config.xml:
--------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee";
 xmlns:xi="http://www.w3.org/2001/XInclude";
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd";>
 <managed-bean>
  <managed-bean-name>DrawingFetcherBean</managed-bean-name>
  <managed-bean-class>com.litens.agile.cad.DrawingFetcher</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
 </managed-bean>
 <application>
  <!-- Use the Trinidad RenderKit -->
  
<default-render-kit-id>org.apache.myfaces.trinidad.core</default-render-kit-id>
 </application>
</faces-config>


************************** CONFIDENTIALITY NOTE **************************
This message contains information which may be privileged or confidential , or 
exempt from disclosure under applicable law.  If the reader of this message is 
not the intended recipient, or the employee or agent responsible for delivering 
the message to the intended recipient, you are hereby NOTIFIED that any 
dissemination, distribution, retention, archiving, or copying of this 
communication is strictly prohibited.  If you have received this e-mail in 
error, please notify us immediately by calling our office at (905) 856-0200 or 
by return e-mail to the Sender of this e-mail.  
************************** CONFIDENTIALITY NOTE **************************

Reply via email to