Estou fazendo uma aplicação java usando PrimeFaces 5.1 e me deparei com um problema de aparecer o id da edição dos dados na url. Queria esconder isso do usuário.
Ex: localhost:8080/Aplicacao/cadastro/CadastroDisciplina.xhtml?disciplina=2
Alguém pode ajudar?
Obrigado. Tela de pesquisa
<ui:define name=“corpo”>
<h:form id=“frmPesquisa”>
<p:messages autoUpdate="true" closable="true" />
<p:toolbar style="margin-top: 20px">
<p:toolbarGroup>
<p:commandButton value="Pesquisar" update="@form" />
</p:toolbarGroup>
<p:toolbarGroup align="right">
<p:button value="Novo" outcome="/cadastro/CadastroDisciplina" />
</p:toolbarGroup>
</p:toolbar>
<p:panelGrid columns="2" id="painel"
style="width: 100%; margin-top: 20px" columnClasses="rotulo, campo">
<p:outputLabel value="Nome da Disciplina" for="nomeDisc" />
<p:inputText id="nomeDisc" size="40"
value="#{pesquisaDisciplinaBean.filtro.nome}" />
</p:panelGrid>
<p:dataTable id="disciplinasTable"
value="#{pesquisaDisciplinaBean.model}" lazy="true"
var="disciplina" style="margin-top: 20px"
emptyMessage="Nenhuma disciplina encontrada." border="1"
cellpadding="2" cellspacing="0" paginator="true"
paginatorPosition="bottom" rows="6">
<p:column headerText="Nome da Disciplina" style="width: 200px;">
<h:outputText value="#{disciplina.nome}" />
</p:column>
<p:column headerText="Prática"
style="text-align: center; width: 120px">
<h:outputText value="#{disciplina.pratica.descricao}" />
</p:column>
<p:column headerText="Turno" style="width: 120px; text-align:center">
<h:outputText value="#{disciplina.turno.descricao}" />
</p:column>
<p:column headerText="Código"
style="text-align: center; width: 120px">
<h:outputText value="#{disciplina.codigo}" />
</p:column>
<p:column style="width:40px; text-align: center">
<p:button outcome="/cadastro/CadastroDisciplina"
icon="ui-icon-pencil" title="Editar">
<f:param name="disciplina" value="#{disciplina.id}" />
</p:button>
<p:commandButton icon="ui-icon-trash" title="Excluir" immediate="true"
oncomplete="PF('confirmacaoExclusao').show()" process="@this"
update=":frmPesquisa:confirmacaoExclusaoDialog">
<f:setPropertyActionListener value="#{disciplina}"
target="#{pesquisaDisciplinaBean.disciplinaSelecionado}" />
</p:commandButton>
</p:column>
</p:dataTable>
<p:confirmDialog header="Exclusão de Disciplina"
message="Tem certeza que deseja excluir a disciplina #{pesquisaDisciplinaBean.disciplinaSelecionado.nome}?"
widgetVar="confirmacaoExclusao" id="confirmacaoExclusaoDialog">
<p:button value="Não"
onclick="PF('confirmacaoExclusao').hide(); return false;" />
<p:commandButton value="Sim"
oncomplete="PF('confirmacaoExclusao').hide();"
action="#{pesquisaDisciplinaBean.excluir}" process="@this"
update=":frmPesquisa:disciplinasTable" />
</p:confirmDialog>
</h:form>
</ui:define>
Cadastro de Disciplinas
<ui:define name=“corpo”>
<f:metadata>
<o:viewParam name="disciplina"
value="#{cadastroDisciplinaBean.disciplina}" />
<f:event listener="#{cadastroDisciplinaBean.inicializar}"
type="preRenderView" />
</f:metadata>
<h:form>
<h1>#{cadastroDisciplinaBean.editando ? 'Edição de Disciplina' :
'Cadastro de Disciplina'}</h1>
<p:messages autoUpdate="true" closable="true" />
<p:toolbar style="margin-top: 20px">
<p:toolbarGroup>
<p:button value="Novo" outcome="/cadastro/CadastroDisciplina" />
<p:commandButton value="Salvar" id="botaoSalvar"
action="#{cadastroDisciplinaBean.salvar}" update="@form" />
</p:toolbarGroup>
<p:toolbarGroup align="right">
<p:button value="Pesquisa" outcome="/cadastro/PesquisaDisciplina" />
</p:toolbarGroup>
</p:toolbar>
<p:panelGrid columns="4" style="width: 100%; margin-top: 20px">
<p:outputLabel value="Nome da Disciplina" for="nomeDisc" />
<p:inputText id="nomeDisc" size="40" maxlength="255"
value="#{cadastroDisciplinaBean.disciplina.nome}" />
<p:outputLabel value="Código" for="cod" />
<p:inputText id="cod" maxlength="30"
value="#{cadastroDisciplinaBean.disciplina.codigo}" />
<p:outputLabel value="Pratica" for="pratica" styleClass="pratica" />
<p:selectOneRadio id="pratica"
value="#{cadastroDisciplinaBean.disciplina.pratica}">
<f:selectItems value="#{cadastroDisciplinaBean.praticas}"
var="pratica" itemValue="#{pratica}"
itemLabel="#{pratica.descricao}" />
</p:selectOneRadio>
<p:outputLabel value="Turno" for="turno" styleClass="turno" />
<p:selectOneRadio id="turno"
value="#{cadastroDisciplinaBean.disciplina.turno}">
<f:selectItems value="#{cadastroDisciplinaBean.turnos}" var="turno"
itemValue="#{turno}" itemLabel="#{turno.descricao}" />
</p:selectOneRadio>
</p:panelGrid>
</h:form>
</ui:define>