Boa Noite Pessoal,
Estou com dúvidas de como fazer o buttom da minha página de pesquisa funcionar, pois tenho um campo com inputText Nome: , um buttom "Pesquisar" e abaixo do panel pesquisar tenho um
public abstract class GenericDAO {
private static final long serialVersionUID = 1L;
protected Session getSession() {
return HibernateUtil.getInstance().getSession();
}
protected void saveOrUpadatePojo(Serializable pojo) {
Session ses = getSession();
ses.saveOrUpdate(pojo);
ses.beginTransaction().commit();
ses.close();
}
protected <T extends Serializable> T getPojo(Class<T> classToSearch, Serializable key) {
Session ses = getSession();
Serializable toReturn = (Serializable) ses.get(classToSearch, key);
ses.beginTransaction().commit();
ses.close();
return (T) toReturn;
}
protected void removePojo(Serializable pojoToRemote) {
Session ses = getSession();
ses.delete(pojoToRemote);
ses.beginTransaction().commit();
ses.close();
}
protected Serializable getPurePojo(String query, Object... params) {
Session ses = getSession();
Query qr = ses.createQuery(query);
for (int i = 1; i <= params.length; i++) {
qr.setParameter(1, params[i - 1]);
}
Object toReturn = qr.uniqueResult();
ses.beginTransaction().commit();
ses.close();
return (Serializable) toReturn;
}
protected <T extends Serializable> List<T> getPureList(Class<T> classToCast, String query, Object... params) {
Session ses = getSession();
Query qr = ses.createQuery(query);
for (int i = 1; i <= params.length; i++) {
qr.setParameter(1, params[i - 1]);
}
@SuppressWarnings("unchecked")
List<T> toReturn = qr.list();
ses.beginTransaction().commit();
ses.close();
return toReturn;
}
}
public class CadSecretariaDAO extends GenericDAO {
private static final long serialVersionUID = 1L;
private Session session;
public CadSecretariaDAO(Session session) {
this.session = session;
}
public CadSecretariaDAO() {
this.session = getSession();
}
public int addCadastrarSecretaria(CadastrarSecretaria cad) {
saveOrUpadatePojo(cad);
return cad.getCodigosecretaria();
}
public void removeCadastrarSecretaria(CadastrarSecretaria cad) {
removePojo(cad);
}
public void upadateCadastrarSecretaria(CadastrarSecretaria cad) {
saveOrUpadatePojo(cad);
}
public CadastrarSecretaria getCadastrarSecretaria(Integer codigosecretaria){
CadastrarSecretaria cad = getPojo(CadastrarSecretaria.class, codigosecretaria);
return cad;
}
public CadastrarSecretaria getCadastrarSecretaria(String nome){
CadastrarSecretaria cad = getPojo(CadastrarSecretaria.class, nome);
return cad;
}
public List<CadastrarSecretaria> getCadSecretarias(){
return getPureList(CadastrarSecretaria.class,"select from CadastrarSecretaria");
}
}
public class Secretaria {
private List<CadastrarSecretaria> cachedCadSecretarias = null;
private CadSecretariaDAO cad = new CadSecretariaDAO();
private CadastrarSecretaria selectedSecretaria;
public List<CadastrarSecretaria> getCachedCadSecretaria() {
if (cachedCadSecretarias == null) {
cachedCadSecretarias = cad.getCadSecretarias();
}
return cachedCadSecretarias;
}
public String doConfirmaCadSecretaria() {
selectedSecretaria = new CadastrarSecretaria();
return "telaconsulta";
}
public String finishConfirmaCadSecretaria() {
cad.addCadastrarSecretaria(selectedSecretaria);
cachedCadSecretarias = null;
return "ListCadSecretaria";
}
public CadastrarSecretaria getSelectedSecretaria() {
return selectedSecretaria;
}
public void setSelectedSecretaria(CadastrarSecretaria selectedSecretaria) {
this.selectedSecretaria = selectedSecretaria;
}
}
<body>
<ui:composition template="/template.xhtml">
<ui:define name="cont">
<a4j:form>
<rich:panel id="consult" style="width: inherit">
<h:outputText value="Parâmetros - Cadastro de Secretarias"/><br/><br/>
<rich:separator height="2" lineType="solid"/><br/>
Nome:<h:inputText id="nome" size="30"/><br/><br/>
<f:facet name="header">
<h:outputText value=""/>
</f:facet>
<div id="buttom" align="center">
<a4j:commandButton value="Pesquisar"/>
<a4j:commandButton value="Limpar"/>
</div>
</rich:panel>
<rich:spacer height="30px"></rich:spacer>
<rich:panel id="result">
<rich:separator height="30"/>
<div align="center">
<h:panelGrid style="" columns="3">
<a4j:commandButton value="Novo"/>
<rich:datascroller for="tabelalista" maxPages="4"
selectedStyle="font-weight:bold"/>
<a4j:commandButton value="Impressão"/>
</h:panelGrid>
</div>
<rich:separator height="15"/>
<rich:dataTable id="tabelalista" value="#{Secretaria.cachedCadSecretaria}" var="item" rows="10" width="60%">
<rich:column>
<f:facet name="header">
<h:outputText value="Nome"/>
</f:facet>
<h:outputLink value="cadastrasecretaria.faces">
<h:outputText value="#{item.nome}"/>
</h:outputLink>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Status"/>
</f:facet>
<h:outputText value="#{item.status}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Data Inclusão"/>
</f:facet>
<h:outputText value="#{item.datainclusao}"/>
</rich:column>
</rich:dataTable>
</rich:panel>
</a4j:form>
</ui:define>
</ui:composition>
</body>
</html>