Limpeza de campos

2 respostas
Rofsobral1

Pessoa, boa noite!
Gostaria de pedir uma ajuda pra vocês. Eu estou desenvolvendo uma aplicação, onde eu clicando no botão “Novo” deve ser exibida a tela da aplicação com os campos inputText em branco para que possam ser preenchidos.
No código que eu estou desenvolvendo os campos inputText das abas não estão zerando quando eu clico em “Novo”.
Segue o código do xhtml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://xmlns.jcp.org/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
	template="/templates/modelo.xhtml">

	<ui:define name="conteudo">

		<h:form id="formListagem">
			<p:panel header="Listagem de Vendas">
				<p:dataTable id="tabela" emptyMessage="Nenhum registro encontrado"
					paginator="true" rows="5" value="#{vendaBean.vendas}" var="venda">
					<f:facet name="footer">
						<p:commandButton value="Novo" oncomplete="PF('dialogo').show();"
							actionListener="#{vendaBean.novo}"
							update=":mensagem :formCadastro:painel :formCadastro:cadastro">
							<f:actionListener
								type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
						</p:commandButton>
					</f:facet>

					<p:column headerText="Venda" sortBy="#{venda.codigo}"
						filterBy="#{venda.codigo}">
						<h:outputText value="#{venda.codigo}" />
					</p:column>

					<p:column headerText="Data Venda" sortBy="#{venda.data_venda}"
						filterBy="#{venda.data_venda}">
						<h:outputText value="#{venda.data_venda}">
							<f:convertDateTime locale="pt_BR" />
						</h:outputText>
					</p:column>

					<p:column headerText="Data Comissão"
						sortBy="#{venda.data_pagamento_comissao}"
						filterBy="#{venda.data_pagamento_comissao}">
						<h:outputText value="#{venda.data_pagamento_comissao}" />
					</p:column>

					<p:column headerText="Data Extra"
						sortBy="#{venda.data_pagamento_extra}"
						filterBy="#{venda.data_pagamento_extra}">
						<h:outputText value="#{venda.data_pagamento_extra}" />
					</p:column>

					<p:column headerText="Valor da Venda"
						filterBy="#{venda.valor_total}">
						<h:outputText value="#{venda.valor_total}">
							<f:convertNumber locale="pt_BR" minFractionDigits="2" />
						</h:outputText>
					</p:column>



					<p:column headerText="Opções">

						<p:commandButton icon="ui-icon-trash"
							actionListener="#{vendaBean.excluir}"
							update=":mensagem :formListagem:tabela">
							<p:confirm header="Confirmação"
								message="Deseja realmente excluir o registro?"
								icon="ui-icon-alert" />
							<f:attribute name="vendaSelecionada" value="#{venda}" />
							<f:attribute name="itemSelecionado" value="#{item}" />
							<f:attribute name="prestacaoSelecionada" value="#{prestacao}" />
						</p:commandButton>

						<p:commandButton icon="ui-icon-pencil"
							actionListener="#{vendaBean.editar}"
							update=":mensagem :formCadastro:painel"
							oncomplete="PF('dialogo').show();">
							<f:attribute name="vendaSelecionada" value="#{venda}" />
							<f:attribute name="itemSelecionado" value="#{item}" />
							<f:attribute name="prestacaoSelecionada" value="#{prestacao}" />
							<f:actionListener
								type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
						</p:commandButton>

					</p:column>
				</p:dataTable>

				<p:confirmDialog global="true">
					<p:commandButton value="Sim" type="button"
						styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
					<p:commandButton value="Não" type="button"
						styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
				</p:confirmDialog>

			</p:panel>
		</h:form>

		<!-- CADASTRO DE UMA NOVA VENDA -->

		<p:dialog header="Cadastro de Vendas" widgetVar="dialogo"
			draggable="false" resizable="false" modal="true" closable="false"
			width="98%" height="60%">
			<h:form id="formCadastro" enctype="multipart/form-data">

				<h:panelGrid id="painel" columns="8">

					<p:outputLabel for="codigo" value="Venda" />
					<p:inputText id="codigo" maxlength="30" size="15"
						value="#{vendaBean.venda.codigo}" required="true"
						requiredMessage="O campo código é obrigatório" />

					<p:outputLabel for="cliente" value="Cliente" />
					<p:selectOneMenu id="cliente" filter="true"
						value="#{vendaBean.venda.cliente}"
						converter="omnifaces.SelectItemsConverter" required="true"
						requiredMessage="O campo Cliente é obrigatório">
						<f:selectItem noSelectionOption="true"
							itemLabel="Selecione um Cliente" />
						<f:selectItems value="#{vendaBean.clientes}" var="cliente"
							itemValue="#{cliente}" itemLabel="#{cliente.nome_cliente}" />
					</p:selectOneMenu>

					

					<p:outputLabel for="funcionario" value="Funcionário" />
					<p:selectOneMenu id="funcionario" filter="true"
						value="#{vendaBean.venda.funcionario}"
						converter="omnifaces.SelectItemsConverter" required="true"
						requiredMessage="O campo Funcionário é obrigatório">
						<f:selectItem noSelectionOption="true"
							itemLabel="Selecione um Funcionário" />
						<f:selectItems value="#{vendaBean.funcionarios}" var="funcionario"
							itemValue="#{funcionario}"
							itemLabel="#{funcionario.nome_funcionario}" />
					</p:selectOneMenu>

					<p:outputLabel for="dataVenda" value="Data da Venda" />
					<p:calendar id="dataVenda" value="#{vendaBean.venda.data_venda}"
						required="true"
						requiredMessage="O campo Data da Venda é obrigatório" size="10" />

					
					<p:outputLabel for="dataComissao" value="Data da Comissão" />
					<p:calendar id="dataComissao"
						value="#{vendaBean.venda.data_pagamento_comissao}" required="true"
						requiredMessage="O campo Data do Pagamento da Comissão é obrigatório"
						size="10" />

					

					<p:outputLabel for="dataExtra" value="Data do Extra" />
					<p:calendar id="dataExtra"
						value="#{vendaBean.venda.data_pagamento_extra}" required="true"
						requiredMessage="O campo Data do Pagamento do Extra é obrigatório"
						size="10" />

				</h:panelGrid>

				<p:tabView id="cadastro">

					<!-- ABA DE PRODUTO -->

					<p:tab id="produto" title="Produto">
						<h:panelGrid id="painelProduto" columns="6">
							<p:dataTable id="tabelaItens" var="item"
								value="#{vendaBean.itens}">
								<f:facet name="header">Tabela de Produtos</f:facet>
								<p:column headerText="Código do Produto"
									style="text-align: center; width: 100px">
									<p:selectOneMenu id="codigo" filter="true"
										value="#{item.produto}"
										converter="omnifaces.SelectItemsConverter" required="true"
										requiredMessage="O campo Código é obrigatório">
										<f:selectItem noSelectionOption="true"
											itemLabel="Selecione um Código" />
										<f:selectItems value="#{vendaBean.produtos}" var="produto"
											itemValue="#{produto}" itemLabel="#{produto.codigo}" />
									</p:selectOneMenu>
								</p:column>
								<p:column headerText="Descrição do Produto"
									style="text-align: center; width: 100px">
									<p:selectOneMenu id="produto" filter="true"
										value="#{item.produto}"
										converter="omnifaces.SelectItemsConverter" required="true"
										requiredMessage="O campo Produto é obrigatório">
										<f:selectItem noSelectionOption="true"
											itemLabel="Selecione um Produto" />
										<f:selectItems value="#{vendaBean.produtos}" var="produto"
											itemValue="#{produto}" itemLabel="#{produto.descricao}" />
									</p:selectOneMenu>
								</p:column>
								<p:column headerText="Categoria"
									style="text-align: center; width: 100px">
									<p:selectOneMenu id="categoria" filter="true"
										value="#{item.categoria}"
										converter="omnifaces.SelectItemsConverter" required="true"
										requiredMessage="O campo Categoria é obrigatório">
										<f:selectItem noSelectionOption="true"
											itemLabel="Selecione uma Categoria" />
										<f:selectItems value="#{vendaBean.categorias}" var="categoria"
											itemValue="#{categoria}" itemLabel="#{categoria.descricao}" />
									</p:selectOneMenu>
								</p:column>
								<p:column headerText="Quantidade do Produto"
									style="text-align: center; width: 100px">
									<p:inputText id="quantidade" maxlength="50" size="20"
										value="#{item.quantidade}" required="true"
										requiredMessage="O campo quantidade é obrigatório" />
								</p:column>
								<p:column headerText="Valor de Venda do Produto"
									style="text-align: center; width: 100px">
									<p:inputText id="preco_venda" maxlength="30" size="15"
										value="#{item.preco_venda}" required="true" 
										requiredMessage="O campo Preço de Venda é obrigatório">
										<f:validateDoubleRange minimum="0.01" maximum="9999.99" />
										<f:convertNumber locale="pt_BR" minFractionDigits="2" />
									</p:inputText>
								</p:column>
								<p:column headerText="Adcionar Item"
									style="text-align: center; width: 100px">
									<h:commandButton value="Adicionar"
										action="#{vendaBean.adicionarLinhas}" />
								</p:column>
								<p:column headerText="Apagar Item"
									style="text-align: center; width: 100px">
									<h:commandButton value="Delete"
										action="#{vendaBean.removerLinhas(item)}"
										oncomplete="#{vendaBean.linhas}" />
								</p:column>
							</p:dataTable>
						</h:panelGrid>
						<br />
						<p:dataTable id="tabelaTotal" var="item"
							value="#{vendaBean.itens}">
							<p:column headerText="Valor Total"
								style="text-align: left; width: 20px">
								<p:inputText id="total_venda_produtos" maxlength="30" size="15"
									value="#{item.total_venda_produtos}" required="true" readonly="true" action="#{vendaBean.multiplicar}"
									requiredMessage="O campo Valor Total é obrigatório">
									<f:validateDoubleRange minimum="0.01" maximum="9999.99" />
									<f:convertNumber locale="pt_BR" minFractionDigits="2" />
								</p:inputText>
							</p:column>
						</p:dataTable>
						<!--  <p:outputLabel for="valorTotal" value="Valor Total" />
						<p:inputText id="valorTotal" maxlength="30" size="15"
							value="#{vendaBean.item.total_venda_produtos}" required="true"
							requiredMessage="O campo Valor Total é obrigatório" /> -->
					</p:tab>


					<!-- ABA DE PRESTAÇÃO -->

					<p:tab id="prest" title="Prestação">
						<h:panelGrid id="painelPrestacao" columns="6">
							<p:dataTable id="itensPrest" var="prestacao"
								value="#{vendaBean.prestacoes}">
								<f:facet name="header">Tabela de Prestações</f:facet>
								<p:column headerText="Código do Prestação"
									style="text-align: center; width: 100px">
									<p:inputText id="codigoPrestacao" maxlength="50" size="20"
										value="#{prestacao.codigo}" required="true"
										requiredMessage="O campo Código da Prestação é obrigatório" />
								</p:column>
								<p:column headerText="Previsão Pagamento"
									style="text-align: center; width: 100px">
									<p:calendar id="dataPrevisao"
										value="#{prestacao.data_previsao}" required="true"
										requiredMessage="O campo Data de Previsão é obrigatório"
										size="20" />
								</p:column>
								<p:column headerText="Data do Pagamento"
									style="text-align: center; width: 100px">
									<p:calendar id="dataPagamento"
										value="#{prestacao.data_pagamento}" required="true"
										requiredMessage="O campo Data de Pagamento é obrigatório"
										size="20" />
								</p:column>
								<p:column headerText="Valor da Prestação"
									style="text-align: center; width: 100px">
									<p:inputText id="valorVenda" maxlength="30" size="15"
										value="#{prestacao.valor_prestacao}" required="true"
										requiredMessage="O campo Valor da Prestação é obrigatório">
										<f:validateDoubleRange minimum="0.01" maximum="9999.99" />
										<f:convertNumber locale="pt_BR" minFractionDigits="2" />
									</p:inputText>
								</p:column>
								<p:column headerText="Tipo de Pagamento"
									style="text-align: center; width: 100px">
									<p:selectOneMenu id="tipoPagamento" filter="true"
										value="#{prestacao.tipoPagamento}"
										converter="omnifaces.SelectItemsConverter" required="true"
										requiredMessage="O campo Tipo de Pagamento é obrigatório">
										<f:selectItem noSelectionOption="true"
											itemLabel="Selecione Tipo de Pagamento" />
										<f:selectItems value="#{vendaBean.tipospagamentos}"
											var="tipoPagamento" itemValue="#{tipoPagamento}"
											itemLabel="#{tipoPagamento.desc_tipo_pagamento}" />
									</p:selectOneMenu>
								</p:column>
								<p:column headerText="Adcionar Item"
									style="text-align: center; width: 100px">
									<h:commandButton value="Adicionar"
										action="#{vendaBean.adicionarLinhas}" />
								</p:column>
								<p:column headerText="Apagar Item"
									style="text-align: center; width: 100px">
									<h:commandButton value="Delete"
										action="#{vendaBean.removerLinhas(item)}"
										oncomplete="#{vendaBean.linhas}" />
								</p:column>
							</p:dataTable>
						</h:panelGrid>
						<br />
						
						<p:dataTable id="tabelaTotalPrestacao" var="prestacao"
							value="#{vendaBean.prestacoes}">
							<p:column headerText="Valor Total das Prestações"
								style="text-align: left; width: 20px">
								<p:inputText id="valor_total_prestacao" maxlength="30" size="15"
									value="#{prestacao.valor_total_prestacao}" required="true" readonly="true"
									requiredMessage="O campo Valor Total das Prestações é obrigatório">
									<f:validateDoubleRange minimum="0.01" maximum="9999.99" />
									<f:convertNumber locale="pt_BR" minFractionDigits="2" />
								</p:inputText>
							</p:column>
						</p:dataTable>
						
						<p:dataTable id="tabelaValorExtra" var="prestacao"
							value="#{vendaBean.prestacoes}">
							<p:column headerText="Valor Extra"
								style="text-align: left; width: 20px">
								<p:inputText id="valor_extra" maxlength="30" size="15"
									value="#{prestacao.valor_extra}" required="true"
									requiredMessage="O campo Valor Extra é obrigatório">
									<f:validateDoubleRange minimum="0.01" maximum="9999.99" />
									<f:convertNumber locale="pt_BR" minFractionDigits="2" />
								</p:inputText>
							</p:column>
						</p:dataTable>
						
						<p:dataTable id="tabelaTotalValorPrestacao" var="item"
							value="#{vendaBean.itens}">
							<p:column headerText="Valor Total"
								style="text-align: left; width: 20px">
								<p:inputText id="total_venda_produtos" maxlength="30" size="15"
									value="#{item.total_venda_produtos}" required="true" readonly="true"
									requiredMessage="O campo Valor Total é obrigatório">
									<f:validateDoubleRange minimum="0.01" maximum="9999.99" />
									<f:convertNumber locale="pt_BR" minFractionDigits="2" />
								</p:inputText>
							</p:column>
						</p:dataTable>
						
						<!--  
						<p:outputLabel for="valorTotalPrestacao" value="Valor Total" />
						<p:inputText id="valorTotalPrestacao" maxlength="30" size="15"
							value="#{vendaBean.prestacao.valor_total_prestacao}"
							required="true"
							requiredMessage="O campo Valor Total é obrigatório" />

						<br />
						<br />


						<p:outputLabel for="valorExtra" value="Valor Extra" />
						<p:inputText id="valorExtra" maxlength="30" size="15"
							value="#{vendaBean.prestacao.valor_extra}" required="true"
							requiredMessage="O campo Valor do Extra é obrigatório" />

						<br />
						<br />

						<p:outputLabel for="totalVenda" value="Total Venda" />
						<p:inputText id="totalVenda" maxlength="30" size="15"
							value="#{vendaBean.venda.valor_total}" required="true"
							requiredMessage="O campo Total da Venda é obrigatório" />
						-->
					</p:tab>

				</p:tabView>

				<h:panelGrid columns="2">
					<p:commandButton value="Salvar"
						actionListener="#{vendaBean.salvar}"
						update=":mensagem :formCadastro:painel :formCadastro:cadastro :formListagem:tabela">
					</p:commandButton>
					<p:commandButton value="Fechar" oncomplete="PF('dialogo').hide();" />
				</h:panelGrid>
			</h:form>
		</p:dialog>
	</ui:define>
</ui:composition>

2 Respostas

campelo.m

No metodo novo faça:

venda = new Venda();
Rofsobral1

Eu já havia colocado no meu bean:

public void novo() {

		try {
			venda = new Venda();
			prestacao = new Prestacao_Venda();
			item = new Item_Venda();
			
			
			
			
			ProdutoDAO produtoDAO = new ProdutoDAO();
			produtos = produtoDAO.listar();

			ClienteDAO clienteDAO = new ClienteDAO();
			clientes = clienteDAO.listar();
			
			FuncionarioDAO funcionarioDAO = new FuncionarioDAO();
			funcionarios = funcionarioDAO.listar();

			TipoPagamentoDAO tipopagamentoDAO = new TipoPagamentoDAO();
			tipospagamentos = tipopagamentoDAO.listar();
			
			CategoriaDAO categoriaDAO = new CategoriaDAO();
			categorias = categoriaDAO.listar();

		} catch (RuntimeException erro) {
			Messages.addFlashGlobalError("Ocorreu um erro ao tentar listar as vendas");
			erro.printStackTrace();
		}
Criado 22 de junho de 2017
Ultima resposta 22 de jun. de 2017
Respostas 2
Participantes 2