Galera,
Me ajuda com duas coisas ambas em destaque em azul na image abaixo.
Estou usando o JSF 2.0 e PrimeFaces 3.2 porém apresenta esta mensagem:
The button/link/text component needs to have a Form in its ancestry. Please add <h:form>.
E outra coisa: Ele não está validando o campo “Linha de ônibus” quando não coloco nada.
Sabem o que pode ser…?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<f:view contentType="text/html">
<h:head>
<f:facet name="first">
<meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
<title>Bus Control</title>
</f:facet>
</h:head>
<h:body>
<p:layout fullPage="true">
<p:layoutUnit position="north" size="100" resizable="true" closable="true" collapsible="true">
<h:form>
<div style="text-align: right">
<div style="text-align: left">
<p:commandLink action="\index.xhtml" value="[Logotipo do sistema]"/>
</div>
<a id="salut">Boa noite, </a>
<h:commandLink action="http://www.oi.com.br" value="#{usuario1.login}"/>
<br></br>
<h:link outcome="#{usuario1.sair()}" value="Sair" />
</div>
</h:form>
</p:layoutUnit>
<p:layoutUnit position="south" size="100" closable="true" collapsible="true">
<h:outputText value="Alguma coisa"/>
</p:layoutUnit>
<p:layoutUnit position="west" size="170" header="Menu" collapsible="true">
<p:menu>
<p:menuitem value="Pesquisar trânsito" url="/faces/Rastrear_Transito.xhtml" />
<p:menuitem value="Cadastrar monitoramento" url="/faces/monitorabus.xhtml" />
<p:menuitem value="Monitorar Ônibus" url="/faces/monitorabus_.xhtml" />
<p:menuitem value="Monitorar" url="http://www.primefaces.org/themes.html" />
<p:menuitem value="Trânsito" url="http://www.primefaces.org/themes.html" />
</p:menu>
</p:layoutUnit>
<p:layoutUnit position="center">
<script type="text/javascript">
PrimeFaces.locales['pt'] = {
closeText: 'Fechar',
prevText: 'Anterior',
nextText: 'Próximo',
currentText: 'Começo',
monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun', 'Jul','Ago','Set','Out','Nov','Dez'],
dayNames: ['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado'],
dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'],
dayNamesMin: ['D','S','T','Q','Q','S','S'],
weekHeader: 'Semana',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: '',
timeOnlyTitle: 'Horas',
timeText: 'Tempo',
hourText: 'Hora',
minuteText: 'Minuto',
secondText: 'Segundo',
currentText: 'Agora',
ampm: false,
month: 'Mês',
week: 'Semana',
day: 'Dia',
allDayText : 'Todo Dia'
}; </script>
<div id="formulario">
<h:form id="form1">
<h:panelGrid columns="4" cellspacing="10">
<h:outputText value="Data início: "/>
<p:calendar required="true" locale="pt" requiredMessage="Você não preencheu a data inicial." showButtonPanel="true" size="10" effect="fold" id="ptCal1"/>
<h:outputText value="Data final: "/>
<p:calendar required="true" locale="pt" requiredMessage="Você não preencheu a data final." showButtonPanel="true" mindate="20/05/2013" maxdate="27/05/2013" size="10" effect="fold" id="ptCal2"/>
<h:outputText value="Hora início: "/>
<p:calendar required="true" requiredMessage="Você não preencheu a hora inicial." locale="pt" pattern="HH:mm" size="10" effect="fold" timeOnly="true" />
<h:outputText value="Hora final: "/>
<p:calendar required="true" requiredMessage="Você não preencheu a hora final." locale="pt" pattern="HH:mm" size="10" effect="fold" timeOnly="true" />
<h:outputText value="Linha de ônibus: "/>
<p:autoComplete rendered="true" requiredMessage="Você não preencheu a linha de ônibus." value="#{Bean.text}" completeMethod="#{Bean.complete}"/>
<h:outputText/>
<h:outputText/>
<h:outputText/>
<!--<p:commandButton action="refreshThePage" inline="true" value="Enviar"/>-->
<h:commandButton value="Imprimir" action="refreshThePage"></h:commandButton>
</h:panelGrid>
<p:messages/>
</h:form>
</div>
</p:layoutUnit>
</p:layout>
</h:body>
</f:view>
</html>