Hi,

Our tester has found an issue that apparently is not tested in CTS but
nonetheless is a bug with MyFaces (confirmed that it does not occur
with Glassfish).

Let's say we have the following:

<h:commandButton ...>
  <f:param name="paramName" value="value1" />
</h:commandButton>
<h:commandButton ...>
  <f:param name="paramName" value="value2" />
</h:commandButton>

We'll render two buttons and two hidden inputs with the name
"paramName" but two different values.  The problem is that one value
will clobber the other and you don't get the value you expect when
clicking the second button.  Obviously the fix is to make the logic in
HtmlButtonRendererBase behave like the link case, where onclick
Javascript is rendered to dynamically set the correct parameter value
depending on which button was clicked.  I've spent some time trying to
do this by reusing the oamSubmit() code, but it doesn't seem to work
(looks like the target makes it open another browser window and in our
case, we do navigation based on the param, and that navigation never
occurs).  Unfortunately due to other obligations I'm not sure that I
have the time to really fix this "correctly" right away.  I think
there are a couple of cases that have to be handled... rendering this
JS when there's no onclick, when there is an onclick, when behaviors
are attached, etc.  It's a bit too much for me to get into at the
moment and I'm not that familiar with this portion of the code.  Is
there anyone out there willing to lend a hand?

Thanks in advance,


Curtiss Howard

Reply via email to