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>ものは機能し、メソッドを適切に呼び出します (ページのリロードあり)。2 番目のボタンはページをリロードしますが、メソッドは呼び出しません。問題は、繰り返し内から userProfileBean にアクセスすることにあるようです。しかし、説明をググることはできません。

4

2 に答える 2

0

問題の原因が見つかりました。フォームは再生成されており、Bean は元のボタン要素を見つけることができません。これは、リクエスト スコープであるためです。ビュー スコープを実装しようとしましたが、そこで何かが失敗しました。そのため、Bean セッションのスコープを作成しました。

于 2013-05-09T14:20:18.020 に答える
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 に答える