[英]How to repaint JSF page when method bean is executed?
我想在jsf中刪除al jsf組件並在組合框中更改值並且不知道該怎么做時重新繪制它。 我需要它,因為我有一些Java ifs,其頁面中的塗料成分不同。
這是代碼:
<%
FacesContext facesContext = FacesContext.getCurrentInstance();
PreguntasBean preguntasBean = (PreguntasBean) facesContext
.getApplication()
.createValueBinding("#{PreguntasBean}")
.getValue(facesContext);
preguntasBean.buscaTipoPregunta();
%>
<h:outputText value="Selecciona un tipo de pregunta" />
<h:selectOneMenu
id="tipoSeleccionado" value="#{PreguntasBean.tipos}" valueChangeListener="#{PreguntasBean.muestraPregunta}" onchange="submit()">
<f:selectItems value="#{PreguntasBean.tiposValue}" />
</h:selectOneMenu>
<h:outputText value="Enunciado " />
<h:inputText value="#{PreguntasBean.preguntaParaGuardar.enunciado}" />
<%if(preguntasBean.getValor().equals("1") || preguntasBean.getValor().equals("2") || preguntasBean.getValor().equals("3")){ %>
<%if(preguntasBean.getValor().equals("2")){ %>
<h:outputText value="Opcion 1" />
<h:inputText value="" />
<h:outputText value="Opcion 2" />
<h:inputText value="" />
<%} %>
<h:outputText value="Sentencia" />
<h:inputText value="#{PreguntasBean.sentencia}" />
<%if(preguntasBean.getValor().equals("3")){ %>
<h:outputText value="Texto fin" />
<h:inputText value="" />
<%} %>
<h:commandButton value="Añadir sentencia" action="#{PreguntasBean.addSentencia}"/>
<h:dataTable border="1" var="tablaSentencias" value="#{PreguntasBean.listaSentencias}" binding ="#{PreguntasBean.tabla}">
<h:column>
<f:facet name="header">
<h:outputText value="Sentencias" />
</f:facet>
<h:outputText value="#{tablaSentencias.sentencia}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Acción" />
</f:facet>
<h:commandButton value="Borrar" action="#{PreguntasBean.borraSentencia}" />
</h:column>
</h:dataTable>
<%} %>
因此,當我更改selectOneMenu時,我想刪除所有輸出文本,輸入,數據表...(不是VO,只有jsf標簽)。
只需要刪除<%%>條件並使用它
rendered="#{PreguntasBean.valor =='3'}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.