a4j:include + calendar = serious bug ?
bruno.arruda Oct 10, 2007 1:52 PMHi ppl,
I will not make the mistake I made on trying to explain the problem on my application again. So, I builded a new simple project that you can download:
I´m using richfaces 3.1.1 and IE or FF(error on both)
Eclipse project:
http://74.86.67.56/teste/RichTest.zip
WAR file:
http://74.86.67.56/teste/RichTest.war
The problem is, when I control the page inside the a4j:include via manage bean, and i try to reRender a panel, the rich:calendar inside the new page is not loaded correctly, it has a javascript problem and I get a error when I click on it:
"$("includedPage:a4jInclude1:j_id_jsp_1105707755_0pc2:insertProcessCalendar1").component has no properties"
BUT, if I click on the link again, the calendar is rendered fine on the second time.
I don´t think this is a rich:calendar problem, because I´ve saw this problem with others javascripts.
PS.: If you want to test the BUG multiple times you need to clean the brownser´s cache.
I hope this helps... Thanks again
Here comes the codes if you do´nt want to download the project:
TestMB
package manage;
import java.util.Date;
public class TestMB
{
private Date testDate;
private String page = "/defaultInside.jsp";
public TestMB()
{
}
public void changePage( )
{
this.page = "/newInside.jsp";
}
public String getPage()
{
return page;
}
public void setPage(String page)
{
this.page = page;
}
public Date getTestDate()
{
return testDate;
}
public void setTestDate(Date testDate)
{
this.testDate = testDate;
}
}
main.jsp
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
<%@taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<body>
<f:view>
<h:form>
<a4j:commandLink value="Change Page" action="#{test.changePage}" reRender="mainPanel2" />
</h:form>
<h:panelGrid id="mainPanel2">
<h:panelGroup id="mainCustomerPanelGroup2">
<f:subview id="includedPage">
<a4j:include viewId="#{test.page}" id="a4jInclude1" />
</f:subview>
</h:panelGroup>
</h:panelGrid>
</f:view>
</body>
</html>
defaultInside.jsp
Default Content Text
newInside.jsp
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
<%@taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<h:form>
<rich:calendar id="insertProcessCalendar1" immediate="true" required="true" value="#{testMB.expirationDate}" />
</h:form>