You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by ni...@apache.org on 2006/11/02 02:25:35 UTC
svn commit: r470163 - in /struts/struts1/trunk:
apps/examples/src/main/webapp/WEB-INF/exercise/
apps/examples/src/main/webapp/exercise/
el/src/main/java/org/apache/strutsel/taglib/html/
el/src/main/resources/META-INF/tld/ taglib/src/main/java/org/apach...
Author: niallp
Date: Wed Nov 1 17:25:34 2006
New Revision: 470163
URL: http://svn.apache.org/viewvc?view=rev&rev=470163
Log:
Fix for STR-2967 - Add "module" attribute to ImageTag - patch supplied by Michael Coram
- added to vanilla, nested and el taglibs
- added an example page in the examples webapp
Added:
struts/struts1/trunk/apps/examples/src/main/webapp/exercise/html-image.jsp (with props)
Modified:
struts/struts1/trunk/apps/examples/src/main/webapp/WEB-INF/exercise/struts-config.xml
struts/struts1/trunk/apps/examples/src/main/webapp/exercise/index.html
struts/struts1/trunk/el/src/main/java/org/apache/strutsel/taglib/html/ELImageTag.java
struts/struts1/trunk/el/src/main/java/org/apache/strutsel/taglib/html/ELImageTagBeanInfo.java
struts/struts1/trunk/el/src/main/resources/META-INF/tld/struts-html-el.tld
struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/ImageTag.java
struts/struts1/trunk/taglib/src/main/resources/META-INF/tld/struts-html.tld
struts/struts1/trunk/taglib/src/main/resources/META-INF/tld/struts-nested.tld
Modified: struts/struts1/trunk/apps/examples/src/main/webapp/WEB-INF/exercise/struts-config.xml
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/apps/examples/src/main/webapp/WEB-INF/exercise/struts-config.xml?view=diff&rev=470163&r1=470162&r2=470163
==============================================================================
--- struts/struts1/trunk/apps/examples/src/main/webapp/WEB-INF/exercise/struts-config.xml (original)
+++ struts/struts1/trunk/apps/examples/src/main/webapp/WEB-INF/exercise/struts-config.xml Wed Nov 1 17:25:34 2006
@@ -52,6 +52,8 @@
<action path="/html-img-action"
type="org.apache.struts.webapp.exercise.ImageAction"
parameter="/exercise/struts-power.gif"/>
+ <action path="/html-image" forward="/html-image.jsp"
+ name="testbean" scope="session" validate="false"/>
<action path="/html-link" forward="/html-link.jsp"/>
<action path="/html-link-submit"
type="org.apache.struts.webapp.exercise.HtmlSettersAction"
Added: struts/struts1/trunk/apps/examples/src/main/webapp/exercise/html-image.jsp
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/apps/examples/src/main/webapp/exercise/html-image.jsp?view=auto&rev=470163
==============================================================================
--- struts/struts1/trunk/apps/examples/src/main/webapp/exercise/html-image.jsp (added)
+++ struts/struts1/trunk/apps/examples/src/main/webapp/exercise/html-image.jsp Wed Nov 1 17:25:34 2006
@@ -0,0 +1,47 @@
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<html>
+ <head>
+ <title>Test struts-html:image Tag</title>
+ </head>
+ <body>
+ <div align="center">
+ <h1>Test struts-html:image Tag</h1>
+ <p>
+ Click on the <strong><i>powered by</i></strong> images below to submit the form:
+ </p>
+ <p>
+ Last Submitted:
+ <font color="blue">
+ <%= new java.util.Date() %>
+ </font>
+ </p>
+ </div>
+ <html:form>
+ <table border="1" cellspacing="2" cellpadding="4" align="center">
+ <tr>
+ <td>Standard image tag</td>
+ <td>
+ <input type="image" src="struts-power.gif">
+ </td>
+ </tr>
+ <tr>
+ <td>Struts image tag via page attribute</td>
+ <td>
+ <html:image page="/struts-power.gif" />
+ </td>
+ </tr>
+ <tr>
+ <td>Struts image tag via page attribute, current module</td>
+ <td>
+ <html:image page="/struts-power.gif"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Struts image tag via page attribute, default module</td>
+ <td>
+ <html:image page="/struts-power.gif" module="/validator"/>
+ </td>
+ </tr>
+ </html:form>
+ </body>
+</html>
Propchange: struts/struts1/trunk/apps/examples/src/main/webapp/exercise/html-image.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/struts1/trunk/apps/examples/src/main/webapp/exercise/html-image.jsp
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified: struts/struts1/trunk/apps/examples/src/main/webapp/exercise/index.html
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/apps/examples/src/main/webapp/exercise/index.html?view=diff&rev=470163&r1=470162&r2=470163
==============================================================================
--- struts/struts1/trunk/apps/examples/src/main/webapp/exercise/index.html (original)
+++ struts/struts1/trunk/apps/examples/src/main/webapp/exercise/index.html Wed Nov 1 17:25:34 2006
@@ -46,6 +46,8 @@
<li><a href="html-img.do"><html:img></a></li>
+ <li><a href="html-image.do"><html:image></a></li>
+
<li><a href="html-link.do"><html:link></a></li>
<li><a href="html-multibox.do"><html:multibox></a></li>
Modified: struts/struts1/trunk/el/src/main/java/org/apache/strutsel/taglib/html/ELImageTag.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/el/src/main/java/org/apache/strutsel/taglib/html/ELImageTag.java?view=diff&rev=470163&r1=470162&r2=470163
==============================================================================
--- struts/struts1/trunk/el/src/main/java/org/apache/strutsel/taglib/html/ELImageTag.java (original)
+++ struts/struts1/trunk/el/src/main/java/org/apache/strutsel/taglib/html/ELImageTag.java Wed Nov 1 17:25:34 2006
@@ -87,6 +87,12 @@
private String localeExpr;
/**
+ * Instance variable mapped to "module" tag attribute. (Mapping set in
+ * associated BeanInfo class.)
+ */
+ private String moduleExpr;
+
+ /**
* Instance variable mapped to "onblur" tag attribute. (Mapping set in
* associated BeanInfo class.)
*/
@@ -309,6 +315,14 @@
}
/**
+ * Getter method for "module" tag attribute. (Mapping set in associated
+ * BeanInfo class.)
+ */
+ public String getModuleExpr() {
+ return (moduleExpr);
+ }
+
+ /**
* Getter method for "onblur" tag attribute. (Mapping set in associated
* BeanInfo class.)
*/
@@ -581,6 +595,14 @@
}
/**
+ * Setter method for "module" tag attribute. (Mapping set in associated
+ * BeanInfo class.)
+ */
+ public void setModuleExpr(String moduleExpr) {
+ this.moduleExpr = moduleExpr;
+ }
+
+ /**
* Setter method for "onblur" tag attribute. (Mapping set in associated
* BeanInfo class.)
*/
@@ -794,6 +816,7 @@
setDisabledExpr(null);
setIndexedExpr(null);
setLocaleExpr(null);
+ setModuleExpr(null);
setOnblurExpr(null);
setOnchangeExpr(null);
setOnclickExpr(null);
@@ -895,6 +918,12 @@
EvalHelper.evalString("locale", getLocaleExpr(), this,
pageContext)) != null) {
setLocale(string);
+ }
+
+ if ((string =
+ EvalHelper.evalString("module", getModuleExpr(), this,
+ pageContext)) != null) {
+ setModule(string);
}
if ((string =
Modified: struts/struts1/trunk/el/src/main/java/org/apache/strutsel/taglib/html/ELImageTagBeanInfo.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/el/src/main/java/org/apache/strutsel/taglib/html/ELImageTagBeanInfo.java?view=diff&rev=470163&r1=470162&r2=470163
==============================================================================
--- struts/struts1/trunk/el/src/main/java/org/apache/strutsel/taglib/html/ELImageTagBeanInfo.java (original)
+++ struts/struts1/trunk/el/src/main/java/org/apache/strutsel/taglib/html/ELImageTagBeanInfo.java Wed Nov 1 17:25:34 2006
@@ -93,6 +93,12 @@
}
try {
+ proplist.add(new PropertyDescriptor("module", ELImageTag.class,
+ null, "setModuleExpr"));
+ } catch (IntrospectionException ex) {
+ }
+
+ try {
proplist.add(new PropertyDescriptor("onblur", ELImageTag.class,
null, "setOnblurExpr"));
} catch (IntrospectionException ex) {
Modified: struts/struts1/trunk/el/src/main/resources/META-INF/tld/struts-html-el.tld
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/el/src/main/resources/META-INF/tld/struts-html-el.tld?view=diff&rev=470163&r1=470162&r2=470163
==============================================================================
--- struts/struts1/trunk/el/src/main/resources/META-INF/tld/struts-html-el.tld (original)
+++ struts/struts1/trunk/el/src/main/resources/META-INF/tld/struts-html-el.tld Wed Nov 1 17:25:34 2006
@@ -2749,6 +2749,18 @@
</description>
</attribute>
<attribute>
+ <name>module</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ <description>
+ <![CDATA[
+ <p>Prefix name of a <code>Module</code> that
+ the <code>page</code> or <code>pageKey</code>
+ attributes relate to.</p>
+ ]]>
+ </description>
+ </attribute>
+ <attribute>
<name>onblur</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
Modified: struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/ImageTag.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/ImageTag.java?view=diff&rev=470163&r1=470162&r2=470163
==============================================================================
--- struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/ImageTag.java (original)
+++ struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/ImageTag.java Wed Nov 1 17:25:34 2006
@@ -20,6 +20,7 @@
import org.apache.struts.Globals;
import org.apache.struts.config.ModuleConfig;
import org.apache.struts.taglib.TagUtils;
+import org.apache.struts.util.ModuleUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -64,6 +65,12 @@
*/
protected String srcKey = null;
+ /**
+ * The module prefix (beginning with a slash) which will be used to find
+ * the action for this link.
+ */
+ protected String module = null;
+
// --------------------------------------------------------- Constructor
public ImageTag() {
super();
@@ -124,6 +131,14 @@
this.srcKey = srcKey;
}
+ public String getModule() {
+ return (this.module);
+ }
+
+ public void setModule(String module) {
+ this.module = module;
+ }
+
// --------------------------------------------------------- Protected Methods
/**
@@ -191,12 +206,13 @@
throw e;
}
- ModuleConfig config =
- (ModuleConfig) pageContext.getRequest().getAttribute(Globals.MODULE_KEY);
-
HttpServletRequest request =
(HttpServletRequest) pageContext.getRequest();
+ ModuleConfig config =
+ ModuleUtils.getInstance().getModuleConfig(this.module,
+ request, pageContext.getServletContext());
+
String pageValue = this.page;
if (config != null) {
@@ -217,11 +233,12 @@
throw e;
}
- ModuleConfig config =
- (ModuleConfig) pageContext.getRequest().getAttribute(Globals.MODULE_KEY);
-
HttpServletRequest request =
(HttpServletRequest) pageContext.getRequest();
+
+ ModuleConfig config =
+ ModuleUtils.getInstance().getModuleConfig(this.module,
+ request, pageContext.getServletContext());
String pageValue =
TagUtils.getInstance().message(pageContext, getBundle(),
Modified: struts/struts1/trunk/taglib/src/main/resources/META-INF/tld/struts-html.tld
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/taglib/src/main/resources/META-INF/tld/struts-html.tld?view=diff&rev=470163&r1=470162&r2=470163
==============================================================================
--- struts/struts1/trunk/taglib/src/main/resources/META-INF/tld/struts-html.tld (original)
+++ struts/struts1/trunk/taglib/src/main/resources/META-INF/tld/struts-html.tld Wed Nov 1 17:25:34 2006
@@ -2967,6 +2967,18 @@
</description>
</attribute>
<attribute>
+ <name>module</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ <description>
+ <![CDATA[
+ <p>Prefix name of a <code>Module</code> that
+ the <code>page</code> or <code>pageKey</code>
+ attributes relate to.</p>
+ ]]>
+ </description>
+ </attribute>
+ <attribute>
<name>onblur</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
Modified: struts/struts1/trunk/taglib/src/main/resources/META-INF/tld/struts-nested.tld
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/taglib/src/main/resources/META-INF/tld/struts-nested.tld?view=diff&rev=470163&r1=470162&r2=470163
==============================================================================
--- struts/struts1/trunk/taglib/src/main/resources/META-INF/tld/struts-nested.tld (original)
+++ struts/struts1/trunk/taglib/src/main/resources/META-INF/tld/struts-nested.tld Wed Nov 1 17:25:34 2006
@@ -1347,6 +1347,11 @@
<description/>
</attribute>
<attribute>
+ <name>module</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
<name>onblur</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>