<p:inputText
id="finalSorteio"
required="true"
requiredMessage="Preencha o final do concurso"/>
<p:message for="finalSorteio"/>
<p:commandButton
update="messages"
action="#{resultadoMB.calcularPorFinal(finalSorteio.value)}"
value="Calcular"
ajax="false"/>
e o seguinte MB
public String calcularPorFinal(String finalSorteio){
// calculos
}
eis a questão:
preciso passar o texto que esta no input text de id “finalSorteio” mas como esta ali ele até chama o método mas no Debug percebi que e passa uma String vazia.
precisava tambem fazer uma @NamedQuery para selecionar no banco segundo o final algo como EndsWith não achei nada parecido com o que eu quero e ja fiz algumas tentaivas,
derrepente seja até porque o String finalSorteio esta chegando vazio.
mas então resolvi me virar como eu sei peguei a List do @NamedQuery que eu utilizo no calculo geral e “filtrei” ela algo do tipo
for (int i = 0; i < listaResultados.size(); i++) {
if(!String.valueOf(listaResultados.get(i).getConcurso()).endsWith(finalSorteio){
listaResultados.remove(i);
}
sei que é uma gambi e não gosto disso.
então vamos as perguntas.
alguem sabe se tem como utlizar o ENDSWITH na @NamedQuery
e alguem sabe o porque não está passando o parametro no inputText ?
Creio que seja para fazer consultas estáticas e pré definidas.
Preciso carregar um List filtrado primeiramente porque exibo ele na tela e depois utilizo uma Classe especifica que fiz para realizar os cálculos,
esta Classe recebe um List no construtor e armazena os valores dos cálculos que eu exibo juntamente com a seleção.
[quote]essa sua consulta é executada constantemente? se sim
não vejo pq usar @NamedQuery para isso.[/quote]
O usuário fará a consulta uma unica vez e trabalhará com esses resultados até que termine.