2013-08-07 4 views
0

Я просто не понимаю ...Прайсы p: commandLink не работает в p: datatTable

Почему p: commandLink не работает? Страница обновляется, но с таким же количеством данных в таблице. Я предполагаю, что контроллер в порядке. Взгляните \

Вид:.

<?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:ui="http://java.sun.com/jsf/facelets" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:p="http://primefaces.org/ui"> 

    <body> 
     <ui:composition template="./Template.xhtml"> 
      <ui:define name="content" > 
       <f:view> 
        <h:form style="padding: 5px"> 
         <p:dataTable id="dataTable2" var="item" value="#{warningsController.warns}"> 
          <p:column rendered="#{loginController.admin}"> 
           <f:facet name="header"> 
            <h:outputText value="Administracja" /> 
           </f:facet> 
           <h:form> 
            <p:commandLink id="Remove" value="Remove" action="#{warningsController.remove(item.id)}" ajax="false" /> 
           </h:form> 
          </p:column> 
         </p:dataTable> 
        </h:form> 
       </f:view> 
      </ui:define> 
     </ui:composition> 

    </body> 
</html> 

и контроллер:

public String remove(long a){ 
    //System.out.println(a); 
    pf.remove(pf.find(a)); 
    return "Listsev.xhtml"; 
} 

ответ

0

У вас есть несколько h:form сек каскада/вложенный, это invalid html. Неизвестные/желаемые побочные эффекты могут/могут возникать, возможно, как будто вы испытываете прямо сейчас. Вернитесь, если это внутреннее h:form и повторите попытку.

В вашем remove методе, pf - это список, который вы возвращаете по телефону #{warningsController.warns}?

+0

спасибо, это уже работает, но я пробовал без вложенной h: form. До тех пор, пока не улучшилось обновление. – Matt

+0

Но вы обязательно должны удалить свою вложенную 'h: form's, потому что это недопустимый html. В будущем вы столкнетесь с большими трудностями при использовании нескольких форм внутри друг друга. – Manuel

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