0

我有一个 userProfileBean,我可以在重复之外访问它,但是当我这样做时

<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 。但我无法谷歌任何解释。

4

2 回答 2

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>
于 2013-05-09T11:38:31.083 回答
0

找到问题的根源,表单正在重新生成,bean 找不到原始按钮元素,因为它是请求范围的。试图实现一个视图范围,但那里有些失败。所以我只是将 bean 会话设置为范围。

于 2013-05-09T14:20:18.020 回答