a4j:poll refresh pagina con RichFaces

Forum relativo ai framework per l'utilizzo della tecnologia JSP

a4j:poll refresh pagina con RichFaces

Messaggioda alesslud » mer mag 16, 2012 8:21 am

<html>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<head>
<link rel="stylesheet" type="text/css" href="./css/ibm.css">
<link rel="shortcut icon" href="image/favicon.ico" type="image/x-icon" />
<title>Calcolo Montante</title>
</head>
<body>
<f:view>
<h:outputLabel>Esegui Calcolo montante</h:outputLabel>
<br />
<a4j:region>
<a4j:form>
<a4j:poll id="poll" reRender="idTabellaLog,stopLog,messaggioLancio"
interval="1500" enabled="#{logAnno.enabled }"
action="#{logAnno.refreshCalcoloMontante }">
</a4j:poll>
</a4j:form>
</a4j:region>
<h:form id="idFormMontante">
<table>
<tr>
<th colspan="4">Anno</th>
</tr>
<tr>
<td><h:inputText value="#{logAnno.anno}" maxlength="4">
</h:inputText></td>
<td colspan="3"><h:outputLabel id="messaggioLancio"
escape="false" value="#{logAnno.messaggio }"></h:outputLabel></td>
</tr>
<tr>
<td><a4j:commandButton
reRender="messaggioLancio,idTabellaLog,stopLog,aggiorna,idLancio,reset,poll"
id="idLancio" disabled="#{logAnno.avviaDisabled }"
action="#{logAnno.lanciaCalcoloMontante}" value="Avvia calcolo"></a4j:commandButton>
</td>
<td><a4j:commandButton style="width:120px" id="stopLog"
disabled="#{logAnno.stopDisabled }" value="Stop log"
reRender="poll,idTabellaLog,stopLog">
<a4j:actionparam name="polling" value="#{!logAnno.enabled}"
assignTo="#{logAnno.enabled}" />
<a4j:actionparam name="stopping" value="#{!logAnno.stopDisabled}"
assignTo="#{logAnno.stopDisabled}" />
</a4j:commandButton></td>
<td><a4j:commandButton style="width:120px" id="aggiorna"
disabled="#{logAnno.aggiornaDisabled }" value="Aggiorna"
reRender="poll,idTabellaLog">
<a4j:actionparam name="polling" value="#{logAnno.enabled}"
assignTo="#{logAnno.enabled}" />
<a4j:actionparam name="stopping" value="#{logAnno.stopDisabled}"
assignTo="#{logAnno.stopDisabled}" />
</a4j:commandButton></td>
<td><a4j:commandButton style="width:120px" id="reset"
disabled="#{logAnno.resetDisabled }" value="Reset"
reRender="poll,idTabellaLog,stopLog,aggiorna,idLancio,reset,messaggioLancio"
action="#{logAnno.reset }">
</a4j:commandButton></td>
</tr>
</table>

<h:dataTable value="#{logAnno.logMontante }" var="logMontante"
id="idTabellaLog">
<h:column>
<f:facet name="header">
<h:outputText value="Data/Ora"></h:outputText>
</f:facet>
<h:outputText value="#{logMontante.dataOra }"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Livello"></h:outputText>
</f:facet>
<h:outputText value="#{logMontante.livello }"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Nominativo"></h:outputText>
</f:facet>
<h:outputText value="#{logMontante.nominativo }"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Messaggio"></h:outputText>
</f:facet>
<h:outputText value="#{logMontante.messaggio }"></h:outputText>
</h:column>

</h:dataTable>
</h:form>
</f:view>
</body>
</html>
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

questo è il managed bean FacesLogAnno.java

Messaggioda alesslud » mer mag 16, 2012 8:22 am

package it.senato.ams.faces.montante;

import it.senato.ams.faces.config.BaseManagedBean;

import java.util.ArrayList;
import java.util.List;

public class FacesLogAnno extends BaseManagedBean {

/**
*
*/
private static final long serialVersionUID = -8858143928323914708L;

public FacesLogAnno() {
super();
}

private String anno;
private String messaggio;
private List<FacesLogMontante> logMontante;
private boolean enabled = true;
private boolean resetDisabled = true;
private boolean avviaDisabled;
private boolean stopDisabled = true;
private boolean aggiornaDisabled = true;

public boolean isStopDisabled() {
return stopDisabled;
}

public void setStopDisabled(boolean stopDisabled) {
this.stopDisabled = stopDisabled;
}

public boolean isAggiornaDisabled() {
return aggiornaDisabled;
}

public void setAggiornaDisabled(boolean aggiornaDisabled) {
this.aggiornaDisabled = aggiornaDisabled;
}

public boolean isAvviaDisabled() {
return avviaDisabled;
}

public void setAvviaDisabled(boolean avviaDisabled) {
this.avviaDisabled = avviaDisabled;
}

public boolean isResetDisabled() {
return resetDisabled;
}

public void setResetDisabled(boolean resetDisabled) {
this.resetDisabled = resetDisabled;
}

public String getAnno() {
return anno;
}

public void setAnno(String anno) {
this.anno = anno;
}

public String getMessaggio() {
return messaggio;
}

public void setMessaggio(String messaggio) {
this.messaggio = messaggio;
}

public boolean isEnabled() {
return enabled;
}

public void setEnabled(boolean enabled) {
this.enabled = enabled;
}

public List<FacesLogMontante> getLogMontante() {
return logMontante;
}

public void setLogMontante(List<FacesLogMontante> logMontante) {
this.logMontante = logMontante;
}

public void lanciaCalcoloMontante() {
if (anno.trim().equals("") || anno.trim().length() != 4) {
this.messaggio = "Inserire un anno valido";
} else {
this.messaggio = "Calcolo montante avviato";
FacesLogMontante value = new FacesLogMontante();
value.setDataOra("22:54");
value.setLivello("Info");
value.setNominativo("Nominativo");
value.setMessaggio("Prova visualizzazione tabella");
this.resetDisabled = false;
this.avviaDisabled = true;
this.stopDisabled = false;
this.aggiornaDisabled = false;
this.avviaDisabled = true;
this.enabled = true;
this.setLogMontante(new ArrayList<FacesLogMontante>());
this.getLogMontante().add(value);
this.enabled = true;
super.setObject("logAnno", this);
}
}

public void refreshCalcoloMontante() {
FacesLogAnno facesLog = (FacesLogAnno) super.getObject("logAnno");
if (this != null && this.getLogMontante() != null) {
FacesLogMontante value = new FacesLogMontante();
value.setDataOra("22:54");
value.setLivello("Info");
value.setNominativo("Nominativo");
value.setMessaggio("Prova visualizzazione tabella");
// this.setLogMontante(new ArrayList<FacesLogMontante>());
facesLog.getLogMontante().add(value);
this.messaggio = "Calcolo montante avviato; righe processate "
+ facesLog.getLogMontante().size();
}
}

public void reset() {
this.resetDisabled = true;
this.avviaDisabled = false;
this.stopDisabled = true;
this.aggiornaDisabled = true;
this.avviaDisabled = false;
this.enabled = false;
this.messaggio = "";
FacesLogAnno facesLog = (FacesLogAnno) super.getObject("logAnno");
if (this != null && this.getLogMontante() != null) {
facesLog.setLogMontante(new ArrayList<FacesLogMontante>());
}
}

}
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am

Questa è la parte che ci interessa

Messaggioda alesslud » mer mag 16, 2012 8:23 am

<a4j:region>
<a4j:form>
<a4j:poll id="poll" reRender="idTabellaLog,stopLog,messaggioLancio"
interval="1500" enabled="#{logAnno.enabled }"
action="#{logAnno.refreshCalcoloMontante }">
</a4j:poll>
</a4j:form>
</a4j:region>

Effettuiamo il refresh della tabella "idTabellaLog" se la prorpietà logAnno.enabled è impostata a true sul bean
alesslud
Site Admin
 
Messaggi: 779
Iscritto il: mer nov 08, 2006 8:09 am


Torna a JSF e Struts

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron