PrimeFaces TabView在提交时未显示结果
问题描述:
以下代码包含两个选项卡和来自showcase示例的基本代码。我试图把这个代码放到一个xhtml中,并且做了ui:包含在标签中,并且在下面的列表中添加它们。无论哪种方式,当我点击提交按钮,没有看到任何显示的结果。PrimeFaces TabView在提交时未显示结果
在此先感谢
<?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>
答
在PrimeFaces的使用手册的记载,你应该避免嵌套布局和布局单位的内部形式,并且每个布局单元应该有自己的形式,来代替。所以删除表单,并在每个layoutUnit
+0
感谢您的回复,测试了两个选项,在LayoutUnit中添加了表单,并且还删除了LayoutUnit和Layout,取而代之的是在每个表单中放置了一个panelgrid。仍然没有结果显示。 – 2013-02-11 12:08:37
显示您的支持bean代码。 – partlov 2013-02-11 13:46:22
你知道命令按钮什么也没做(没有'action'),只是刷新视图,不会改变,因为'display'的值将保持与点击按钮之前的值相同 – kolossus 2013-02-11 14:52:09