2013-05-09 88 views
0

我有我可以訪問重複外的userProfileBean但是當我做訪問bean在JSF

<ui:repeat id="reqlistID" var="reqlist" value="#{userProfileBean.friendRequestsList}"> 
    jmeno: #{reqlist.jmeno} <br/> prijmeni: #{reqlist.prijmeni} <br/> id: #{reqlist.id} <br/> 
    <p:commandButton id="allowFriendButton" 
        action="#{userProfileBean.allowFriend()}" 
        value="Přidat" 
        update="reqlistID"> 
    </p:commandButton> 

然後allowFriend方法不會被調用和NetBeans說不明財產。我錯過了什麼嗎?

編輯:謝謝你的回覆。仍然不起作用。現在國家就是這樣。

<h:form> 
    <p:commandButton id="allson" 
        action="#{userProfileBean.testt()}" 
        value="Přidat" 
        ajax="false"> 
    </p:commandButton> 
</h:form> 

<c:if test="#{principalBean.p.login == userProfileBean.name}"> 
    Žádosti přidání do přátel:<br/> 
    <ui:repeat id="reqlistID" var="reqlist" value="#{userProfileBean.friendRequestsList}"> 
     jmeno: #{reqlist.jmeno} <br/> prijmeni: #{reqlist.prijmeni} <br/> id: #{reqlist.id} <br/> 
     <h:form> 
      <p:commandButton id="allowFriendButton" 
          action="#{userProfileBean.testt()}" 
          value="Přidat" 
          ajax="false"> 
      </p:commandButton> 
     </h:form> 

     <br/> 
    </ui:repeat> 
</c:if> 

第一<p:commandButton>作品和正確調用該方法(使用頁面重載)。第二個按鈕重新加載頁面,但不調用該方法。問題似乎是從重複內部訪問userProfileBean。但我不能谷歌任何解釋。

+0

* allowFriend方法沒有被調用,netbeans說未知的屬性*你檢查過這個方法是否存在於你的託管bean中,並且是'public'? – 2013-05-09 14:20:21

回答

0

我想你錯過了表單元素。嘗試把你的按鈕的形式像

<h:form> 
<ui:repeat id="reqlistID" var="reqlist" value="#{userProfileBean.friendRequestsList}"> 
    jmeno: #{reqlist.jmeno} <br/> prijmeni: #{reqlist.prijmeni} <br/> id: #{reqlist.id} <br/> 
    <p:commandButton id="allowFriendButton" 
        action="#{userProfileBean.allowFriend()}" 
        value="Přidat" 
        update="reqlistID"> 
    </p:commandButton> 
</ui:repeat> 
</h:form> 
0

找到了問題的根源,形式得到再生和bean無法找到原來的按鈕元素,因爲它是請求範圍。試圖實現一個視圖範圍,但在那裏失敗了。所以我只是將bean會話作爲範圍。

+1

至於視圖範圍失敗,仔細閱讀http://stackoverflow.com/questions/3342984/jstl-in-jsf2-facelets-makes-sense/3343681#3343681 – BalusC 2013-05-09 14:20:56

+0

好吧,我看到現在發生了什麼,所以什麼是正確的實現這一點的方式。我需要爲每個用戶插入的內容生成刪除按鈕。我可以看到的一種方法是將內容的ID傳遞給url參數中的一些deletehandler.xhtml,這是我不想要的,因爲在我看來,這是一個安全問題,是嗎? – Meltea 2013-05-09 14:44:26