2013-02-11 2 views
0

Следующий код содержит две вкладки и базовый код из примера витрины. Я попытался поместить этот код в xhtml и сделал ui: включить в вкладки, а также просто добавить их в закладки в виде списка ниже. В любом случае, когда я нажимаю кнопку «Отправить», не вижу никаких результатов.PrimeFaces TabView результатов не отображается на submit

Заранее спасибо

<?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: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"> 

<h:form> 
<p:tabView id="tabs" orientation="left" styleClass=".borderlessUnit" dynamic="true"> 
    <p:tab id="tab0" title="Test Menu 1"> 
     <p:layout id="layout0" style="min-height:600px;"> 
      <p:layoutUnit position="center" resizable="true" styleClass="borderlessUnit"> 
       <h:outputLabel for="name" value="Name 1:" style="font-weight:bold"/> 
       <p:inputText id="name" value="#{personBean.firstname}" /> 
       <p:commandButton value="Submit" update="display"/> 
       <h:outputText value="#{personBean.firstname}" id="display" /> 
      </p:layoutUnit>        
     </p:layout> 
    </p:tab> 
    <p:tab id="tab1" title="Test Menu 2"> 
     <p:layout id="layout1" style="min-height:600px;"> 
     <p:layoutUnit position="center" resizable="true" styleClass="borderlessUnit"> 
       <h:outputLabel for="name1" value="Name 2:" style="font-weight:bold"/> 
       <p:inputText id="name1" value="#{personBean.secondname}" /> 
       <p:commandButton value="Submit1" update="display1"/> 
       <h:outputText value="#{personBean.secondname}" id="display1" /> 
     </p:layoutUnit> 
     </p:layout> 
     </p:tab>  
</p:tabView> 
</h:form> 
</html> 
+0

Покажите нам свой код бэк-кода. – partlov

+0

Вы знаете, что командные кнопки ничего не делают (не 'действие'), а просто обновляют представление, которое не изменится, потому что значение' display' останется таким же, как до нажатия кнопки – kolossus

ответ

0

В инструкции по применению в PrimeFaces документально подтверждено, что вы должны избегать раскроя и компоновки блоков внутри формы, и что каждый блок макет должен иметь свою собственную форму, вместо этого. Поэтому удалите форму и поместите отдельную форму внутри каждого layoutUnit

+0

спасибо за ваш ответ , Протестировано с двумя вариантами, Добавлена ​​форма внутри LayoutUnit и также удалена LayoutUnit и Layout, а вместо этого просто дана панель-панель внутри каждой формы. Пока ничего не отображается. –

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