Author: jmitchell
Date: Mon Oct 16 18:20:34 2006
New Revision: 464765
URL: http://svn.apache.org/viewvc?view=rev&rev=464765
Log:
STR-2960
- add actionListener to CommandLinkTag
Modified:
struts/struts1/trunk/apps/faces-example1/src/main/java/org/apache/struts/webapp/example/IndexBacking.java
struts/struts1/trunk/apps/faces-example1/src/main/webapp/index.jsp
struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/taglib/CommandLinkTag.java
struts/struts1/trunk/faces/src/main/resources/META-INF/tld/struts-faces.tld
Modified:
struts/struts1/trunk/apps/faces-example1/src/main/java/org/apache/struts/webapp/example/IndexBacking.java
URL:
http://svn.apache.org/viewvc/struts/struts1/trunk/apps/faces-example1/src/main/java/org/apache/struts/webapp/example/IndexBacking.java?view=diff&rev=464765&r1=464764&r2=464765
==============================================================================
---
struts/struts1/trunk/apps/faces-example1/src/main/java/org/apache/struts/webapp/example/IndexBacking.java
(original)
+++
struts/struts1/trunk/apps/faces-example1/src/main/java/org/apache/struts/webapp/example/IndexBacking.java
Mon Oct 16 18:20:34 2006
@@ -19,6 +19,8 @@
import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -54,7 +56,13 @@
return (null);
}
-
+ /**
+ * <p>Testing actionListener call</p>
+ * @param actionEvent
+ */
+ public void testListener(ActionEvent actionEvent){
+// System.out.println("================= it works!!");
+ }
/**
* <p>Forward to the <em>Logon</em> page.</p>
Modified: struts/struts1/trunk/apps/faces-example1/src/main/webapp/index.jsp
URL:
http://svn.apache.org/viewvc/struts/struts1/trunk/apps/faces-example1/src/main/webapp/index.jsp?view=diff&rev=464765&r1=464764&r2=464765
==============================================================================
--- struts/struts1/trunk/apps/faces-example1/src/main/webapp/index.jsp
(original)
+++ struts/struts1/trunk/apps/faces-example1/src/main/webapp/index.jsp Mon Oct
16 18:20:34 2006
@@ -64,9 +64,16 @@
<s:message key="index.heading"/>
</f:facet>
+ <s:commandLink id="test"
+ actionListener="#{indexBacking.testListener}"
+ immediate="true"
+ styleClass="link"
+ rendered="#{false}">
+ <h:outputText value="Click here to test
ActionListener"></h:outputText>
+ </s:commandLink>
+
<s:commandLink id="create"
action="#{indexBacking.create}"
- immediate="true"
styleClass="link">
<f:param name="action"
value="Create"/>
@@ -79,6 +86,8 @@
styleClass="link">
<s:message key="index.logon"/>
</s:commandLink>
+
+ <h:message for="test"></h:message>
</h:panelGrid>
Modified:
struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/taglib/CommandLinkTag.java
URL:
http://svn.apache.org/viewvc/struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/taglib/CommandLinkTag.java?view=diff&rev=464765&r1=464764&r2=464765
==============================================================================
---
struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/taglib/CommandLinkTag.java
(original)
+++
struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/taglib/CommandLinkTag.java
Mon Oct 16 18:20:34 2006
@@ -21,6 +21,7 @@
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.el.MethodBinding;
+import javax.faces.event.ActionEvent;
/**
@@ -38,6 +39,7 @@
private String accesskey = null;
private String action = null;
+ private String actionListener = null;
private String charset = null;
private String dir = null;
private String hreflang = null;
@@ -78,6 +80,11 @@
}
+ public void setactionListener(String actionListener) {
+ this.actionListener = actionListener;
+ }
+
+
public void setCharset(String charset) {
this.charset = charset;
}
@@ -214,6 +221,7 @@
super.release();
accesskey = null;
action = null;
+ actionListener = null;
charset = null;
dir = null;
hreflang = null;
@@ -288,6 +296,14 @@
MethodBinding mb = new ConstantMethodBinding(outcome);
((ActionSource) component).setAction(mb);
}
+ }
+ if (actionListener != null) {
+ if (isValueReference(actionListener)) {
+ Class[] args = {ActionEvent.class};
+ MethodBinding mb = FacesContext.getCurrentInstance().
+ getApplication().createMethodBinding(actionListener,
args);
+ ((ActionSource) component).setActionListener(mb);
+ }
}
setStringAttribute(component, "accesskey", accesskey);
setStringAttribute(component, "charset", charset);
Modified:
struts/struts1/trunk/faces/src/main/resources/META-INF/tld/struts-faces.tld
URL:
http://svn.apache.org/viewvc/struts/struts1/trunk/faces/src/main/resources/META-INF/tld/struts-faces.tld?view=diff&rev=464765&r1=464764&r2=464765
==============================================================================
--- struts/struts1/trunk/faces/src/main/resources/META-INF/tld/struts-faces.tld
(original)
+++ struts/struts1/trunk/faces/src/main/resources/META-INF/tld/struts-faces.tld
Mon Oct 16 18:20:34 2006
@@ -235,7 +235,7 @@
<description><![CDATA[
<p>Displays a list of error messages prepared by form bean
or business logic validation processing.</p>
-<p>In order to use this component successfully, you must have
+ <p>In order to use this component successfully, you must have
defined an application scope <code>MessageResources</code> bean
under the specified attribute name, with optinal definitions for
the following message keys:</p>