有没有办法确定导致
的行(甚至是什么文件)来自Primefaces的表单组件需要在其祖先中具有UIForm。建议:在
中包含必要的组件
警告信息?我刚刚开始研究一个已建立的项目,其中包含许多很多.xhtml文件(由其他人编写),包含各种模板和继承,而我在缩小导致问题的文件方面遇到了麻烦。
我试过谷歌搜索没有运气,我无法在SO上找到解决如何找到错误来源的答案。
更新:它不像转到网址中显示的页面那么简单。例如,当我导航到'../foo.xhtml'
时会显示警告,但是,foo.xhtml
会实现一个模板,并包含多个其他.xhtml
个文件(每个文件又包含一些.xhtml
{{1}}文件)。所有文件都有些大小(至少500行)。
答案 0 :(得分:4)
在if
的{{1}}块中放置一个调试断点,isInNeedOfForm(component)
已经返回true
96 if (isForm(component)) {
97 result = VisitResult.REJECT;
98 } else if (isInNeedOfForm(component)) {
* 99 addFormOmittedMessage(finalContext);
100 }
,这是FormOmittedChecker#check()
,从Mojarra 2.2.12开始。
<h:form>
给定一个页面的输入字段没有<h:inputText id="someInputText" />
,
component
断点命中在Eclipse中如下所示:
正如您在屏幕截图中看到的,您可以检查变量堆栈中的clientId
变量,然后检查其id
(或=0+Left(Right(A1;2);1) >3
)属性。最后,您可以在生成的HTML输出和/或JSF源代码中找到并关联它。