为什么不打破断点?

时间:2012-04-22 11:18:13

标签: netbeans jsf-2 primefaces

我试图建立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>

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

由于目的是让现有用户登录,因此强迫他填写与他无关的信息是不可接受的。更重要的是,无论如何,如果面板网格中的信息没有连接到我按下的命令按钮,为什么它应该有任何区别呢?我假设同时显示2个面板网格是合法的吗?在任何情况下,我都会对可能出现的问题提出任何建议。

谢谢, 伊兰

1 个答案:

答案 0 :(得分:0)

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