Sorunumu izole eden bu sınama durumunu oluşturdum. A4j: commandLink eylemi, anket bir ajax güncellemesi yaptıktan sonra yürütülmez. Anketin yeniden oluşturulmasından önce modalPanel'i kapatırsak yürütülür.a4j: commandLink yeniden oluşturulduktan sonra çalışmayı durdurur
Herhangi bir öneriniz var mı? Şimdiden teşekkürler.
test.xhtml:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" xmlns:fn="http://java.sun.com/jsp/jstl/functions" xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:fnc="http://eyeprevent.com/fnc">
<a4j:outputPanel id="testing">
<rich:modalPanel id="examinationPanel" autosized="true" width="450" rendered="#{test.condition2}">
<f:facet name="header">
<h:outputText value="View Examination Images" />
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<a4j:form>
<a4j:commandLink action="#{test.close}">
<h:graphicImage value="/images/modal/close.png" id="hideExaminationPanel" styleClass="hidelink" />
</a4j:commandLink>
</a4j:form>
<rich:componentControl for="examinationPanel" attachTo="hideExaminationPanel" operation="hide" event="onclick" />
</h:panelGroup>
</f:facet>
<a4j:form>
<h:panelGrid columns="1" id="timeoutText">
<h:outputText id="remainingtime" value="condition1" rendered="#{test.condition1}" />
<h:outputText id="timer" value="condition2" rendered="#{test.condition2}" />
</h:panelGrid>
<a4j:poll id="poll" interval="5000" enabled="#{test.poll}" reRender="poll,timeoutText" />
</a4j:form>
</rich:modalPanel>
Bağlantı
TestBean.java
import org.apache.log4j.Logger;
public class TestBean {
private boolean condition1=false;
private boolean condition2=true;
private boolean poll=true;
public void close(){
Logger.getLogger("com.eyeprevent").info("here!");
poll=false;
condition1=true;
condition2=false;
}
public boolean isCondition1() {
return condition1;
}
public void setCondition1(boolean condition1) {
this.condition1 = condition1;
}
public boolean isCondition2() {
return condition2;
}
public void setCondition2(boolean condition2) {
this.condition2 = condition2;
}
public boolean isPoll() {
return poll;
}
public void setPoll(boolean poll) {
this.poll = poll;
}
}
TestBean oturumu kapsamlı olduğunu. Zenginleştiriciler sürüm 3.3.2.SR1
Ayrıca, Chrome 5.0.322.2 dev sürümünde modalPanel görünmez. FF ve IE7 altında.
Bu sorunu var benim uygulamasında bir bileşenden bu test vaka var. Bileşen "ana" üzerinde domElementAttachment vardır, ancak bağlantı çalışmıyor. Formu taşımaya çalışacağım ... – pakore
ModalPanel dışındaki formun taşınması da işe yaramıyor. Yine de cevap için teşekkürler. – pakore
@pakore - Demek istediğim - formu dışarıya taşı ve ikinci formdan kurtul. Bunu denedin mi? – Bozho