You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2009/09/29 00:45:54 UTC
svn commit: r819760 -
/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/
Author: lu4242
Date: Mon Sep 28 22:45:53 2009
New Revision: 819760
URL: http://svn.apache.org/viewvc?rev=819760&view=rev
Log:
MYFACES-2323 Implement <f:ajax> tag handler (Components that renders client behaviors should always render "id" and "name" attribute) (Thanks to Jakob Korherr for provide this patch).
Modified:
myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java
myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java
myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlImageRendererBase.java
myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java
myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java
myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSecretRendererBase.java
myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java
myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTextareaRendererBase.java
Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java?rev=819760&r1=819759&r2=819760&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java Mon Sep 28 22:45:53 2009
@@ -95,6 +95,7 @@
writer.startElement(HTML.TABLE_ELEM, selectMany);
HtmlRendererUtils.renderHTMLAttributes(writer, selectMany,
HTML.SELECT_TABLE_PASSTHROUGH_ATTRIBUTES);
+
HtmlRendererUtils.writeIdIfNecessary(writer, selectMany, facesContext);
if (!pageDirectionLayout)
@@ -246,13 +247,13 @@
{
writer.writeAttribute(HTML.ID_ATTR, itemId, null);
}
+ else if (renderId)
+ {
+ writer.writeAttribute(HTML.ID_ATTR, clientId, null);
+ }
writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_CHECKBOX, null);
writer.writeAttribute(HTML.NAME_ATTR, clientId, null);
- if (renderId) {
- HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
- }
-
if (checked) {
writer.writeAttribute(HTML.CHECKED_ATTR, org.apache.myfaces.shared.renderkit.html.HTML.CHECKED_ATTR, null);
}
Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java?rev=819760&r1=819759&r2=819760&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java Mon Sep 28 22:45:53 2009
@@ -97,17 +97,25 @@
ResponseWriter writer = facesContext.getResponseWriter();
writer.startElement(HTML.TABLE_ELEM, component);
- HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
Map<String, List<ClientBehavior>> behaviors = null;
if (component instanceof ClientBehaviorHolder && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext()))
{
behaviors = ((ClientBehaviorHolder) component).getClientBehaviors();
+ if (!behaviors.isEmpty())
+ {
+ HtmlRendererUtils.writeIdAndName(writer, component, facesContext);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
+ }
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, component, behaviors);
HtmlRendererUtils.renderHTMLAttributes(writer, component, HTML.TABLE_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS);
}
else
{
+ HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
HtmlRendererUtils.renderHTMLAttributes(writer, component, HTML.TABLE_PASSTHROUGH_ATTRIBUTES);
}
Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlImageRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlImageRendererBase.java?rev=819760&r1=819759&r2=819760&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlImageRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlImageRendererBase.java Mon Sep 28 22:45:53 2009
@@ -66,7 +66,16 @@
writer.startElement(HTML.IMG_ELEM, uiComponent);
- HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
+ if (uiComponent instanceof ClientBehaviorHolder
+ && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext())
+ && !((ClientBehaviorHolder) uiComponent).getClientBehaviors().isEmpty())
+ {
+ HtmlRendererUtils.writeIdAndName(writer, uiComponent, facesContext);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
+ }
if (url != null && url.length() > 0)
{
Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java?rev=819760&r1=819759&r2=819760&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java Mon Sep 28 22:45:53 2009
@@ -198,16 +198,24 @@
if (HtmlRendererUtils.isDisabled(component))
{
writer.startElement(HTML.SPAN_ELEM, component);
- HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
if (component instanceof ClientBehaviorHolder && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext()))
{
behaviors = ((ClientBehaviorHolder) component).getClientBehaviors();
+ if (!behaviors.isEmpty())
+ {
+ HtmlRendererUtils.writeIdAndName(writer, component, facesContext);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
+ }
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, component, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(facesContext, writer, component, behaviors);
HtmlRendererUtils.renderHTMLAttributes(writer, component, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS);
}
else
{
+ HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
HtmlRendererUtils.renderHTMLAttributes(writer, component, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES);
}
}
@@ -220,6 +228,14 @@
{
behaviors = ((ClientBehaviorHolder) component).getClientBehaviors();
renderBehaviorizedJavaScriptAnchorStart(facesContext, writer, component, clientId, behaviors);
+ if (!behaviors.isEmpty())
+ {
+ HtmlRendererUtils.writeIdAndName(writer, component, facesContext);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
+ }
HtmlRendererUtils.renderBehaviorizedEventHandlersWithoutOnclick(facesContext, writer, component, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(facesContext, writer, component, behaviors);
anchorAttrsToRender = HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_STYLE_AND_EVENTS;
@@ -227,16 +243,17 @@
else
{
renderJavaScriptAnchorStart(facesContext, writer, component, clientId);
+ HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
anchorAttrsToRender = HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_ONCLICK_WITHOUT_STYLE;
}
}
else
{
renderNonJavaScriptAnchorStart(facesContext, writer, component, clientId);
+ HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
anchorAttrsToRender = HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_STYLE;
}
- HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
HtmlRendererUtils.renderHTMLAttributes(writer, component,
anchorAttrsToRender);
HtmlRendererUtils.renderHTMLAttribute(writer, HTML.STYLE_ATTR, HTML.STYLE_ATTR,
@@ -590,21 +607,29 @@
if (HtmlRendererUtils.isDisabled(output))
{
writer.startElement(HTML.SPAN_ELEM, output);
- HtmlRendererUtils.writeIdIfNecessary(writer, output, facesContext);
if (output instanceof ClientBehaviorHolder && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext()))
{
behaviors = ((ClientBehaviorHolder) output).getClientBehaviors();
+ if (!behaviors.isEmpty())
+ {
+ HtmlRendererUtils.writeIdAndName(writer, output, facesContext);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdIfNecessary(writer, output, facesContext);
+ }
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(facesContext, writer, output, behaviors);
HtmlRendererUtils.renderHTMLAttributes(writer, output, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS);
}
else
{
+ HtmlRendererUtils.writeIdIfNecessary(writer, output, facesContext);
HtmlRendererUtils.renderHTMLAttributes(writer, output, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES);
}
}
else
- {
+ {
//calculate href
String href = org.apache.myfaces.shared.renderkit.RendererUtils.getStringValue(facesContext, output);
@@ -633,17 +658,25 @@
//write anchor
writer.startElement(HTML.ANCHOR_ELEM, output);
- HtmlRendererUtils.writeIdAndNameIfNecessary(writer, output, facesContext);
writer.writeURIAttribute(HTML.HREF_ATTR, href, null);
if (output instanceof ClientBehaviorHolder && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext()))
{
behaviors = ((ClientBehaviorHolder) output).getClientBehaviors();
+ if (!behaviors.isEmpty())
+ {
+ HtmlRendererUtils.writeIdAndName(writer, output, facesContext);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdAndNameIfNecessary(writer, output, facesContext);
+ }
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(facesContext, writer, output, behaviors);
HtmlRendererUtils.renderHTMLAttributes(writer, output, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS);
}
else
{
+ HtmlRendererUtils.writeIdAndNameIfNecessary(writer, output, facesContext);
HtmlRendererUtils.renderHTMLAttributes(writer, output, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES);
}
writer.flush();
@@ -658,16 +691,24 @@
if (HtmlRendererUtils.isDisabled(output))
{
writer.startElement(HTML.SPAN_ELEM, output);
- HtmlRendererUtils.writeIdIfNecessary(writer, output, facesContext);
if (output instanceof ClientBehaviorHolder && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext()))
{
behaviors = ((ClientBehaviorHolder) output).getClientBehaviors();
+ if (!behaviors.isEmpty())
+ {
+ HtmlRendererUtils.writeIdAndName(writer, output, facesContext);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdIfNecessary(writer, output, facesContext);
+ }
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(facesContext, writer, output, behaviors);
HtmlRendererUtils.renderHTMLAttributes(writer, output, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS);
}
else
{
+ HtmlRendererUtils.writeIdIfNecessary(writer, output, facesContext);
HtmlRendererUtils.renderHTMLAttributes(writer, output, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES);
}
}
@@ -679,17 +720,25 @@
//write anchor
writer.startElement(HTML.ANCHOR_ELEM, output);
- HtmlRendererUtils.writeIdAndNameIfNecessary(writer, output, facesContext);
writer.writeURIAttribute(HTML.HREF_ATTR, href, null);
if (output instanceof ClientBehaviorHolder && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext()))
{
behaviors = ((ClientBehaviorHolder) output).getClientBehaviors();
+ if (!behaviors.isEmpty())
+ {
+ HtmlRendererUtils.writeIdAndName(writer, output, facesContext);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdAndNameIfNecessary(writer, output, facesContext);
+ }
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, output, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(facesContext, writer, output, behaviors);
HtmlRendererUtils.renderHTMLAttributes(writer, output, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS);
}
else
{
+ HtmlRendererUtils.writeIdAndNameIfNecessary(writer, output, facesContext);
HtmlRendererUtils.renderHTMLAttributes(writer, output, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES);
}
writer.flush();
Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java?rev=819760&r1=819759&r2=819760&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java Mon Sep 28 22:45:53 2009
@@ -82,7 +82,7 @@
writer.startElement(HTML.TABLE_ELEM, selectOne);
HtmlRendererUtils.renderHTMLAttributes(writer, selectOne,
HTML.SELECT_TABLE_PASSTHROUGH_ATTRIBUTES);
- HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
+ HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
if (!pageDirectionLayout) writer.startElement(HTML.TR_ELEM, selectOne);
@@ -246,6 +246,9 @@
{
writer.writeAttribute(HTML.ID_ATTR, itemId, null);
}
+ else if (renderId) {
+ writer.writeAttribute(HTML.ID_ATTR, clientId, null);
+ }
writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_RADIO, null);
writer.writeAttribute(HTML.NAME_ATTR, clientId, null);
@@ -253,10 +256,6 @@
writer.writeAttribute(HTML.DISABLED_ATTR, HTML.DISABLED_ATTR, null);
}
- if (renderId) {
- writer.writeAttribute(HTML.ID_ATTR, clientId, null);
- }
-
if (checked)
{
writer.writeAttribute(HTML.CHECKED_ATTR, HTML.CHECKED_ATTR, null);
Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java?rev=819760&r1=819759&r2=819760&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java Mon Sep 28 22:45:53 2009
@@ -374,9 +374,19 @@
ResponseWriter writer = facesContext.getResponseWriter();
writer.startElement(HTML.SELECT_ELEM, uiComponent);
- HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
- writer.writeAttribute(HTML.NAME_ATTR, uiComponent
- .getClientId(facesContext), null);
+ if (uiComponent instanceof ClientBehaviorHolder
+ && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext())
+ && !((ClientBehaviorHolder) uiComponent).getClientBehaviors().isEmpty())
+ {
+ writer.writeAttribute(HTML.ID_ATTR,
+ uiComponent.getClientId(facesContext), null);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
+ }
+ writer.writeAttribute(HTML.NAME_ATTR,
+ uiComponent.getClientId(facesContext), null);
List selectItemList;
Converter converter;
@@ -402,7 +412,6 @@
if (uiComponent instanceof ClientBehaviorHolder && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext()))
{
behaviors = ((ClientBehaviorHolder) uiComponent).getClientBehaviors();
-
renderBehaviorizedOnchangeEventHandler(facesContext, writer, uiComponent, behaviors);
renderBehaviorizedEventHandlers(facesContext, writer, uiComponent, behaviors);
renderBehaviorizedFieldEventHandlersWithoutOnchange(facesContext, writer, uiComponent, behaviors);
@@ -764,6 +773,15 @@
writer.writeAttribute(HTML.NAME_ATTR, clientId, null);
}
}
+
+ public static void writeIdAndName(ResponseWriter writer, UIComponent component,
+ FacesContext facesContext)
+ throws IOException
+ {
+ String clientId = component.getClientId(facesContext);
+ writer.writeAttribute(HTML.ID_ATTR, clientId, null);
+ writer.writeAttribute(HTML.NAME_ATTR, clientId, null);
+ }
public static void renderDisplayValueOnlyForSelects(FacesContext facesContext, UIComponent
uiComponent)
Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSecretRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSecretRendererBase.java?rev=819760&r1=819759&r2=819760&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSecretRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSecretRendererBase.java Mon Sep 28 22:45:53 2009
@@ -57,10 +57,19 @@
writer.startElement(HTML.INPUT_ELEM, uiComponent);
writer.writeAttribute(HTML.TYPE_ATTR, org.apache.myfaces.shared.renderkit.html.HTML.INPUT_TYPE_PASSWORD, null);
- String clientId = uiComponent.getClientId(facesContext);
-
- HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
- writer.writeAttribute(HTML.NAME_ATTR, clientId, null);
+ if (uiComponent instanceof ClientBehaviorHolder
+ && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext())
+ && !((ClientBehaviorHolder) uiComponent).getClientBehaviors().isEmpty())
+ {
+ writer.writeAttribute(HTML.ID_ATTR,
+ uiComponent.getClientId(facesContext), null);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
+ }
+ writer.writeAttribute(HTML.NAME_ATTR,
+ uiComponent.getClientId(facesContext), null);
boolean isRedisplay;
if (uiComponent instanceof HtmlInputSecret)
Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java?rev=819760&r1=819759&r2=819760&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java Mon Sep 28 22:45:53 2009
@@ -125,17 +125,25 @@
ResponseWriter writer = facesContext.getResponseWriter();
HtmlRendererUtils.writePrettyLineSeparator(facesContext);
writer.startElement(HTML.TABLE_ELEM, uiComponent);
- HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
Map<String, List<ClientBehavior>> behaviors = null;
if (uiComponent instanceof ClientBehaviorHolder && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext()))
{
behaviors = ((ClientBehaviorHolder) uiComponent).getClientBehaviors();
+ if (!behaviors.isEmpty())
+ {
+ HtmlRendererUtils.writeIdAndName(writer, uiComponent, facesContext);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
+ }
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, uiComponent, behaviors);
HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent, HTML.TABLE_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS);
}
else
{
+ HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent, HTML.TABLE_PASSTHROUGH_ATTRIBUTES);
}
}
Modified: myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTextareaRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTextareaRendererBase.java?rev=819760&r1=819759&r2=819760&view=diff
==============================================================================
--- myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTextareaRendererBase.java (original)
+++ myfaces/shared/trunk_4.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTextareaRendererBase.java Mon Sep 28 22:45:53 2009
@@ -60,15 +60,19 @@
ResponseWriter writer = facesContext.getResponseWriter();
writer.startElement(HTML.TEXTAREA_ELEM, uiComponent);
- String clientId = uiComponent.getClientId(facesContext);
- writer.writeAttribute(HTML.NAME_ATTR, clientId, null);
- HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
-
Map<String, List<ClientBehavior>> behaviors = null;
if (uiComponent instanceof ClientBehaviorHolder && JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext()))
{
behaviors = ((ClientBehaviorHolder) uiComponent).getClientBehaviors();
-
+ if (!behaviors.isEmpty())
+ {
+ HtmlRendererUtils.writeIdAndName(writer, uiComponent, facesContext);
+ }
+ else
+ {
+ HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
+ writer.writeAttribute(HTML.NAME_ATTR, uiComponent.getClientId(facesContext), null);
+ }
HtmlRendererUtils.renderBehaviorizedOnchangeEventHandler(facesContext, writer, uiComponent, behaviors);
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, uiComponent, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchange(facesContext, writer, uiComponent, behaviors);
@@ -76,6 +80,8 @@
}
else
{
+ HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
+ writer.writeAttribute(HTML.NAME_ATTR, uiComponent.getClientId(facesContext), null);
HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent, HTML.TEXTAREA_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED);
}