Forums Register Login

tr:commandButton actionListener not invoking managed bean method

+Pie Number of slices to send: Send
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>
Won't you please? Please won't you be my neighbor? - Fred Rogers. Tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 3048 times.
Similar Threads
Invalid Warning of "com.sun.faces.config.ConfigureListener"
Apache Portlet Bridge
Problem Running MyFaces Trinidad Application
My Tomcat does not build my URL
config my-faces & tomahawk & Trinidad
More...

All times above are in ranch (not your local) time.
The current ranch time is
Apr 16, 2024 07:33:56.