0

私はそれを理解していません...

p:commandLink が機能しないのはなぜですか? ページは更新されていますが、テーブルには同じ量のデータがあります。コントローラーは大丈夫だと思います。見てください。\

意見:

    <?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <body>
        <ui:composition template="./Template.xhtml">
            <ui:define name="content" >
                <f:view>
                    <h:form style="padding: 5px">
                        <p:dataTable id="dataTable2" var="item" value="#{warningsController.warns}">
                            <p:column rendered="#{loginController.admin}">
                                <f:facet name="header">
                                    <h:outputText value="Administracja" />
                                </f:facet>
                                <h:form>
                                    <p:commandLink id="Remove" value="Remove" action="#{warningsController.remove(item.id)}" ajax="false" />
                                </h:form>
                            </p:column>
                        </p:dataTable>
                    </h:form>
                </f:view>
            </ui:define>
        </ui:composition>

    </body>
</html>

およびコントローラー:

public String remove(long a){
    //System.out.println(a);
    pf.remove(pf.find(a));
    return "Listsev.xhtml";
}
4

1 に答える 1

0

複数h:formの s がカスケード/ネストされています。これは無効な htmlです。おそらくあなたが今経験しているように、未知の/望まれる副作用が発生する可能性があります. その内側にある場合は正しく取得してh:form、もう一度やり直してください。

あなたのremoveメソッドでpfは、あなたが呼び出して返すリスト#{warningsController.warns}ですか?

于 2013-08-07T18:38:04.603 に答える