f5

2 respostas
cleberlz

Olá amigos, to com um probleminha no JSF, eu excluo um item e depois dou um F5 e ele volta no dataTable mas no banco ele não existe mais, fica só na memoria, como posso resolver isso, segue código.

<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<ui:composition
    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:rich="http://richfaces.org/rich"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:ajx="http://richfaces.ajax4jsf.org/rich"
    xmlns:fn="http://java.sun.com/jsp/jstl/functions">
    <f:view>
        <a4j:form id="formItemController">
            <!--para exibir array de items-->
            <h:panelGrid>
                <a4j:outputPanel rendered="#{itemController.items != null}">
                    <rich:dataTable value="#{itemController.items}" var="it" rows="5" id="dtItemController" 
                                    onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
                                    onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
                        <!--cabeçalho padrao-->
                        <f:facet name="header">
                            <rich:columnGroup>
                                <rich:column colspan="5">Lista de Items</rich:column>
                                <rich:column breakBefore="true">
                                    <h:outputText value="Código"/>
                                </rich:column>
                                <rich:column sortBy="#{it.itemDescricao}"  filterBy="#{it.itemDescricao}"
                                             filterEvent="onclick"><h:outputText value="Descrição" /></rich:column>
                                <rich:column><h:outputText value="Preço"/></rich:column>
                                <rich:column><h:outputText value="Altera"/></rich:column>
                                <rich:column><h:outputText value="Excluí"/></rich:column>
                            </rich:columnGroup>
                        </f:facet>
                        <rich:column><h:outputText value="#{it.itemCodigo}"/></rich:column>
                        <rich:column><h:outputText value="#{it.itemDescricao}"/></rich:column>
                        <rich:column><h:outputText value="#{it.itemPreco}"/></rich:column>
                        <rich:column>
                            <a4j:commandButton value="Editar" action="#{itemController.altera}" >
                                <f:setPropertyActionListener value="#{it}" target="#{itemController.itemBean}" />
                            </a4j:commandButton>
                        </rich:column>
                        <rich:column>
                            <a4j:commandButton value="Excluir" action="#{itemController.exclui}"  reRender="formItemController">
                                <f:setPropertyActionListener value="#{it}" target="#{itemController.itemBean}"/>
                            </a4j:commandButton>
                        </rich:column>
                        <!--paginação do grid-->
                        <f:facet name="footer">
                            <rich:datascroller for="dtItemController" maxPages="20" renderIfSinglePage="false" />
                        </f:facet>
                    </rich:dataTable>
                </a4j:outputPanel>
                <h:outputText rendered="#{itemController.items == null}" value="Nenhum Item Cadastrado!"/>
            </h:panelGrid>
            <h:commandButton action="#{itemController.addItem}" value="Cadastrar Items"/>
        </a4j:form>
    </f:view>
</ui:composition>

2 Respostas

emmanuelrock

Você está excluindo ele da sua lista (itemController.items) ??

cleberlz

Sim, éle apaga da lista, mas se eu der um F5 no browser ele volta o registro, mas no banco ele não existe.

Criado 4 de agosto de 2010
Ultima resposta 4 de ago. de 2010
Respostas 2
Participantes 2