Editaremos la pagina index.xhtml para incluir etiquetas primefaces para mostrar e interactuar con los documentos de la base de datos.
Editar el archivo index.xhtml
Definimos un panelGrid donde colocaremos dos cajas de texto correspondientes al idplaneta y al planeta usando componentes de primefaces.
<p:panelGrid columns="2">
<p:outputLabel value="idplaneta"/>
<p:inputText value="#{planetasController.planetas.idplaneta}"/>
<p:outputLabel value="planeta"/>
<p:inputText value="#{planetasController.planetas.planeta}"/>
<p:commandButton value="Guardar" action="#{planetasController.save()}"
update=":form:messages, :form:planetasDataTable"/>
</p:panelGrid>
Mostraremos los documentos almacenados en un datatable, que es un componente de primefaces que genera un <table>
<p:dataTable id="planetasDataTable" var="item"
value="#{planetasController.planetasList}"
rowsPerPageTemplate="5,10,15" emptyMessage="No hay registros" reflow="true">
<p:column headerText="idplaneta" >
<h:outputText value="#{item.idplaneta}" />
</p:column>
<p:column headerText="planeta" >
<h:outputText value="#{item.planeta}" />
</p:column>
</p:dataTable>
Codigox completo
<?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">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:jsf="http://xmlns.jcp.org/jsf">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<f:view >
<h:form id="form">
<h1>Planetas con jmoordb(MongoDB)</h1>
<p:messages id="messages"/>
<p:panelGrid columns="2">
<p:outputLabel value="idplaneta"/>
<p:inputText value="#{planetasController.planetas.idplaneta}"/>
<p:outputLabel value="planeta"/>
<p:inputText value="#{planetasController.planetas.planeta}"/>
<p:commandButton value="Guardar" action="#{planetasController.save()}"
update=":form:messages, :form:planetasDataTable"/>
</p:panelGrid>
<p:dataTable id="planetasDataTable" var="item"
value="#{planetasController.planetasList}"
rowsPerPageTemplate="5,10,15" emptyMessage="No hay registros" reflow="true">
<p:column headerText="idplaneta" >
<h:outputText value="#{item.idplaneta}" />
</p:column>
<p:column headerText="planeta" >
<h:outputText value="#{item.planeta}" />
</p:column>
</p:dataTable>
</h:form>
</f:view>
</h:body>
</html>
Si ejecutamos el proyecto
Ingresamos en el idplaneta el valor de tierra y presionar el botón Guardar
Ingresar el nombre del planeta y presionar el botón Guardar
Se guarda en la colección en MongoDB y se muestra en el componente datatable.