2017-01-14 2 views
0

Я делаю приложение с помощью jsf, и у меня есть проблема при отправке данных из одной из строк данных в bean-компонент, а затем перенаправление на другую страницу. Просто, чтобы сказать, я использую bootsfaces. Вот коды:h: commandButton не работает - действие

JSF страницы:

<?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"> 
<ui:composition template="/templates/layout.xhtml"  
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:b="http://bootsfaces.net/ui" 
    xmlns:f="http://java.sun.com/jsf/core"> 
    <ui:define name="title">Home</ui:define> 
    <ui:define name="content"> 
     <b:dataTable value="#{LeiloesMB.lista()}" var="l"> 
      <b:column> 
       <f:facet name="header"> 
        <h:outputText value="Leilao"/> 
       </f:facet> 
       <h:outputText value="#{l.leilao.id}"/> 
      </b:column> 

      <b:column> 
       <f:facet name="header"> 
        <h:outputText value="Encerramento"/> 
       </f:facet> 
       <h:outputText value="#{l.leilao.encerramento}"/> 
      </b:column> 

      <b:column> 
       <f:facet name="header"> 
        <h:outputText value="Item"/> 
       </f:facet> 
       <h:outputText value="#{l.item.nome}"/> 
      </b:column> 

      <b:column> 
       <f:facet name="header"> 
        <h:outputText value="Descrição"/> 
       </f:facet> 
       <h:outputText value="#{l.item.descricao}"/> 
      </b:column> 

      <b:column> 
       <f:facet name="header"> 
        <h:outputText value="Maior Lance"/> 
       </f:facet> 
       <h:outputText value="#{l.valor}"/> 
      </b:column> 

      <b:column> 
       <f:facet name="header"> 
        <h:outputLabel value="ID"/> 
       </f:facet> 
       <h:outputLabel value="#{l.usuario.id}"/> 
      </b:column> 

      <b:column> 
       <f:facet name="header"> 
        <h:outputLabel value="Nome"/> 
       </f:facet> 
       <h:outputLabel value="#{l.usuario.nome}"/> 
      </b:column>    

      <b:column rendered="#{not empty Usuario.user.nome}"> 
       <f:facet name="header"> 
        <h:outputLabel value="Realizar Lance"/> 
       </f:facet> 
       <h:form> 
        <h:commandButton value="Faça seu lance" action="#{LanceMB.lance(Usuario.user, l)}"/> 
       </h:form> 
      </b:column> 

     </b:dataTable> 
    </ui:define> 
</ui:composition> 

LanceMB код:

@SessionScoped 
@ManagedBean(name="LanceMB") 
public class NovoLance { 
    private Usuario user = new Usuario(); 
    private LancesLeilao ll = new LancesLeilao(); 
    private double novo_valor; 


    public String lance(Usuario usuario, LancesLeilao lal){ 
     this.user = usuario; 
     this.ll = lal; 
     return "novolance";    
    } 

    //getters.. setters 
    } 

Новичок код:

@ManagedBean(name="Usuario") 
@SessionScoped 
public class UserSession { 
    private String email, senha; 
    private Usuario user = new Usuario(); 

//getters and setters.. 
} 

Любой вопрос оставить комментарий.

+0

Есть ли другая форма за пределами datatable? – mismanc

ответ

0

A <h:commandButton /> Используется для толкания значений отдельных полей в форме для управляемого управляемого компонента. Я вижу, что вы вложили только кнопку в форму, но не сами значения.

Оберните все значения в пределах формы, включая кнопку, и попробуйте. Он должен работать, если все остальное определено правильно.

Надеюсь, что это поможет :)

Смежные вопросы