1

我正在尝试放置 2 个 primeFaces panelGrid 框,一个用于现有用户,一个用于新用户。我注意到它停止达到我的断点,我无法弄清楚发生了什么。我开始从源代码中删减一些东西,直到它再次开始工作。

我发现了一件让我完全困惑的最奇怪的事情,如果有人能给我任何提示,我将不胜感激。支持 bean 主要有 getter 和 setter,只是检查登录的逻辑的最开始(在这个阶段基本上没有)。xhtml 文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
    <title>Shalom Elias</title>
</h:head>
<h:body>
<h:form id="form">
    Shalom
    <h:panelGroup id="login" rendered="#{backing.renderPage(1)}">
        <p:panelGrid id="knownUser" columns="2">
            <f:facet name="header">
                Registered User
            </f:facet>

            <h:outputLabel for="zehut1" value="ID" />
            <p:inputText value="#{backing.buyer.tudatZehut1}" label="ID" id="zehut1" />

            <h:outputLabel for="pass1" value="Password" />
            <p:password value="#{backing.buyer.passWrd1}" label="Password" id="pass1" />

            <f:facet name="footer">
                <p:commandButton type="submit" value="Login" actionListener="#{backing.checkLogin}" />
            </f:facet>
        </p:panelGrid>
        <p:spacer height="2" />

        <p:panelGrid id="newUser" columns="4">
            <f:facet name="header">
                New User
            </f:facet>

            <p:inputText value="12345" />
        </p:panelGrid>
    </h:panelGroup>
    <h:panelGroup id="buyer" rendered="false">
        yet again
    </h:panelGroup>
</h:form>
</h:body>
</html>

断点位于命令按钮的页脚部分的 panelGrid knownUser 中。我删除了所有原始代码并为 newUser panelGrid 留下了一个 inputText 框。这是踢球者:如果我将 value="12345" 作为初始值并按下命令按钮,它确实会达到断点。但是,如果我将 value="" 或 value 指向当前为空的支持 bean 值,它将不会达到断点。

由于目的是让现有用户登录,强迫他填写与他无关的信息是不可接受的。更重要的是,如果面板网格中的信息未连接到我正在按下的命令按钮,为什么无论如何它会有什么不同?我假设同时显示 2 个面板网格是合法的吗?无论如何,我将不胜感激有关可能出现问题的任何建议。

谢谢,伊兰

4

1 回答 1

0

原因可能是验证或转换失败。那么你的听众将无法被联系到。在页面的某处放置一个h:messages标签,看看是否是这种情况。该标签将显示转换和验证错误。

于 2012-04-22T11:26:20.993 回答