2012-04-22 50 views
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在頁腳部分的commandButton中。我砍掉了所有原始代碼,併爲newUser panelGrid留下了一個inputText框。這裏是踢球者:如果我將value =「12345」作爲初始值,然後按下命令按鈕,它確實會擊中斷點。但是,如果我把value =「」或值指向一個當前空白的後備bean值,它不會達到中斷點。

由於目的是讓現有的用戶登錄,強迫他填寫與他無關的信息是不可接受的。更重要的是,爲什麼它應該有所作爲,如果面板網格中沒有連接到我正在按下的命令按鈕的信息?我認爲在同一時間顯示2個面板網格是合法的?無論如何,我將不勝感激任何可能出錯的建議。

感謝, 宜蘭

回答

0

的原因可能是驗證或轉換失敗。那麼你的聽衆將無法到達。將h:messages標記放置在您網頁的某處,以查看是否屬於這種情況。標籤將顯示轉換和驗證錯誤。

+0

謝謝馬特。你基本上是正確的,但要發現問題是長期的。事實證明,如果我把value =「」它不會到達斷點,因爲這在某種程度上是不正確的。我只是爲了調試而做,但這是一件壞事。我最初的價值被鉤到了一個支持豆。這裏是你的猜測是正確的:我的一個條目需要輸入,這是造成問題的原因。太糟糕了,我已經迷上了這麼長時間的調試問題。 – 2012-04-23 09:21:12

+0

開發過程中,在web.xml中將'javax.faces.PROJECT_STAGE'設置爲'Development'總是好的。這會爲每個顯示所有驗證和轉換錯誤的頁面添加一個額外的消息標記。 – 2012-04-23 09:27:30

+0

感謝您的提示。我不知道這樣的事情。我看到Netbeans將其作爲Development開發,但知道它非常重要。我仍處於傾斜曲線的上坡。 – 2012-04-23 12:25:08

相關問題