我有这个问题,我认为是一个bug,我有一个带有简单inputtext的复合组件,然后我尝试在模态对话框中使用我的复合组件,首先看看它没关系,你可以输入inputtext ,但是当输入文字失去了焦点并尝试再次打字时,你甚至无法抹去你之前输入的内容。
在问题跟踪器中,报告了一个类似的问题: LINK!!!!!
但这是自动完成而不是输入(可能是相同的),但标记为固定,我尝试使用PrimeFaces 3.3.1和3.4-SNAPSHOT,但问题仍然存在。
我正在使用3.4-SNAPSHOT
这是一个“可重现的测试用例”,我在我的复合组件中添加了另一个输入,以便在第一次输入时更容易丢失焦点。
复合组件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition 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:cc="http://java.sun.com/jsf/composite"
xmlns:p="http://primefaces.org/ui">
<body>
<cc:implementation>
<p:commandButton value="Open dialog composite component" onclick="dialog.show()"/>
<p:dialog widgetVar="dialog">
<p:inputText/>
<p:inputText value="Click here for lost focus of the first input"/>
</p:dialog>
</cc:implementation>
</body>
</ui:composition>
test.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.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:mycomp="http://java.sun.com/jsf/composite/components"
xmlns:p="http://primefaces.org/ui"
xml:lang="es">
<f:view contentType="text/html">
<h:head>
</h:head>
<h:body>
<h:form id="myform">
<p:commandButton value="Open first dialog" onclick="firstDialog.show()"/>
</h:form>
<h:form id="myform2">
<p:dialog widgetVar="firstDialog" modal="true">
<mycomp:test />
</p:dialog>
</h:form>
</h:body>
</f:view>
</html>
我尝试用h:inputText替换p:inputText并且问题仍然存在。
我正在使用: MyFaces 2.1.8,Primefaces 3.4-SNAPSHOT