You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by mr...@apache.org on 2005/06/18 09:00:55 UTC
svn commit: r191272 - in
/struts/taglib/trunk/src/java/org/apache/struts/taglib/html: FormTag.java
LocalStrings.properties
Author: mrdon
Date: Sat Jun 18 00:00:53 2005
New Revision: 191272
URL: http://svn.apache.org/viewcvs?rev=191272&view=rev
Log:
* Changing rendering of the form name to use the 'id' attribute when in
in XHTML strict mode. If an 'id' is already identified with the
'styleId' attribute, an exception is thrown.
* Changed dynamic focus javascript to choose form using 'id' attribute
in XHTML mode
PR: 35127
Modified:
struts/taglib/trunk/src/java/org/apache/struts/taglib/html/FormTag.java
struts/taglib/trunk/src/java/org/apache/struts/taglib/html/LocalStrings.properties
Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/html/FormTag.java
URL: http://svn.apache.org/viewcvs/struts/taglib/trunk/src/java/org/apache/struts/taglib/html/FormTag.java?rev=191272&r1=191271&r2=191272&view=diff
==============================================================================
--- struts/taglib/trunk/src/java/org/apache/struts/taglib/html/FormTag.java (original)
+++ struts/taglib/trunk/src/java/org/apache/struts/taglib/html/FormTag.java Sat Jun 18 00:00:53 2005
@@ -496,14 +496,13 @@
* attributes.
* @since Struts 1.1
*/
- protected String renderFormStartElement() {
+ protected String renderFormStartElement() throws JspException {
StringBuffer results = new StringBuffer("<form");
// render attributes
- if (!this.isXhtml()) {
- renderName(results);
- }
+ renderName(results);
+
renderAttribute(results, "method", getMethod() == null ? "post" : getMethod());
renderAction(results);
renderAttribute(results, "accept-charset", getAcceptCharset());
@@ -512,7 +511,6 @@
renderAttribute(results, "onreset", getOnreset());
renderAttribute(results, "onsubmit", getOnsubmit());
renderAttribute(results, "style", getStyle());
- renderAttribute(results, "id", getStyleId());
renderAttribute(results, "target", getTarget());
// Hook for additional attributes
@@ -523,12 +521,20 @@
}
/**
- * Renders the name attribute
+ * Renders the name of the form. If XHTML is set to true, the name will
+ * be rendered as an 'id' attribute, otherwise as a 'name' attribute.
*/
- protected void renderName(StringBuffer results) {
- results.append(" name=\"");
- results.append(beanName);
- results.append("\"");
+ protected void renderName(StringBuffer results) throws JspException {
+ if (this.isXhtml()) {
+ if (getStyleId() == null) {
+ renderAttribute(results, "id", beanName);
+ } else {
+ throw new JspException(messages.getMessage("formTag.ignoredId"));
+ }
+ } else {
+ renderAttribute(results, "name", beanName);
+ renderAttribute(results, "id", getStyleId());
+ }
}
/**
@@ -656,11 +662,19 @@
// Construct the control name that will receive focus.
// This does not include any index.
- StringBuffer focusControl = new StringBuffer("document.forms[\"");
- focusControl.append(beanName);
- focusControl.append("\"].elements[\"");
- focusControl.append(this.focus);
- focusControl.append("\"]");
+ StringBuffer focusControl = new StringBuffer();
+ if (isXhtml()) {
+ focusControl.append("document.getElementById(\"");
+ focusControl.append(beanName);
+ focusControl.append("\").");
+ focusControl.append(this.focus);
+ } else {
+ focusControl.append("document.forms[\"");
+ focusControl.append(beanName);
+ focusControl.append("\"].elements[\"");
+ focusControl.append(this.focus);
+ focusControl.append("\"]");
+ }
results.append(" var focusControl = ");
results.append(focusControl.toString());
Modified: struts/taglib/trunk/src/java/org/apache/struts/taglib/html/LocalStrings.properties
URL: http://svn.apache.org/viewcvs/struts/taglib/trunk/src/java/org/apache/struts/taglib/html/LocalStrings.properties?rev=191272&r1=191271&r2=191272&view=diff
==============================================================================
--- struts/taglib/trunk/src/java/org/apache/struts/taglib/html/LocalStrings.properties (original)
+++ struts/taglib/trunk/src/java/org/apache/struts/taglib/html/LocalStrings.properties Sat Jun 18 00:00:53 2005
@@ -4,6 +4,8 @@
formTag.collections=Cannot find ActionMappings or ActionFormBeans collection
formTag.create=Exception creating bean of class {0}: {1}
formTag.formBean=Cannot retrieve definition for form bean: "{0}" on action: "{1}"
+formTag.ignoredId=Cannot specify "styleId" when in XHTML mode as the HTML "id" \
+ attribute is already used to store the bean name
formTag.mapping=Cannot retrieve mapping for action: "{0}"
formTag.name=Form bean not specified on mapping for action: "{0}"
formTag.nameType=Must specify type attribute if name is specified
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org