More things and excuse the long post
fran.fuentes May 8, 2007 4:28 AMSome things I've found working around ajax4jsf (nothing I can't live with, but...):
* If I use a HTML table inside a a4j:region, all the cells with JSF controls render empty. The controls are piled up after the table. If the table is positioned outside the region, everything works perfect.
* If I send an AJAX submit with a a4j:commandX inside a a4j:form, only the oncomplete event of the a4j:command is fired (nor the a4j:form only, nor both events) BUT the reRender list of the form is used joined with the the reRender list of the command [this doesn't look like an equilibrated pattern]. Even if the command hasn't oncomplete code, the oncomplete event of the form isn't fired. It's fired only with common JSF buttons o links (I know from a previous post that a4j:form is for complicated situations, nor the usual life, but I think that I have to write this).
* The a4j:status and it's Id: the specification of JSF doesn't state (I think) which must be the way of create an id in the html rendered, but, usually, the generated one is created joined the id of the form and the id of the control. This only happens with the status control when is inside a a4j:region. If is alone inside a h:form, it's id isn't built using the name of the form. Why an a4j:stauts must be outside a a4j:region? And why not?.
* Also, of course, when the id of the alone status control is used in the status property of a a4j:command, I get a warning "Status component not found", BUT it works showing the state of the request sent by the button.
* If I send an AJAX submit with a a4j:commandX inside a a4j:form, only the oncomplete event of the a4j:command is fired (nor the a4j:form only, nor both events) BUT the reRender list of the form is used joined with the the reRender list of the command [this doesn't look like an equilibrated pattern]. Even if the command hasn't oncomplete code, the oncomplete event of the form isn't fired. It's fired only with common JSF buttons o links (I know from a previous post that a4j:form is for complicated situations, nor the usual life, but I think that I have to write this).
* The a4j:status and it's Id: the specification of JSF doesn't state (I think) which must be the way of create an id in the html rendered, but, usually, the generated one is created joined the id of the form and the id of the control. This only happens with the status control when is inside a a4j:region. If is alone inside a h:form, it's id isn't built using the name of the form. Why an a4j:stauts must be outside a a4j:region? And why not?.
* Also, of course, when the id of the alone status control is used in the status property of a a4j:command, I get a warning "Status component not found", BUT it works showing the state of the request sent by the button.
This is only a list of things that I think I found. Maybe my code is wrong or my use is also wrong. Don't know.
But I have a question: always must use an a4j:region for mark where starts and ends the controls or the zones for AJAX (using ajax4jsf)?, because I think that a lot of code or computation is done around the fact that every ajax-ed control should be inside a region, but this couldn't be true in every situation. And the developer's guide doesn't state this, giving liberty of using or not regions.
But these are only my thoughts... thanks for reading them.
Regards,
Fran.