1

BalusC の投稿 (こちら) も読みましたが、まだ dataGrid から ajax 呼び出しを行うことができません。dataGrid が ajax 呼び出しをサポートしているということですか? それとも私は何かを逃した?

すべてを試してみましたが、メソッドはdataGridの外にあるときにヒットするので、dataGridと何か関係があると思います..? 最初に私のページがテンプレートに含まれていましたが、それを削除しましたが、まだうまくいきません。

私のjsf:

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<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">

    <h:head>
        <title>Order select</title>
    </h:head>

    <h:body>

                    <p:layout style="min-width:400px;min-height:400px;" id="layout">  

                        <p:layoutUnit id="rightLayout" position="east" size="100" minSize="200" maxSize="200">  
                            right
                        </p:layoutUnit>  

                        <p:layoutUnit position="center" >  

                            <h:form id="imgForm" style="text-align: center">

                                <p:dataGrid var="img" 
                                            value="#{orderBean.userMedia.mediaList}" 
                                            columns="4"  
                                            rows="16" 
                                            paginator="true"  
                                            paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"  
                                            rowsPerPageTemplate="9,12,15">  

                                    <p:panel>
                                        <p:commandLink actionListener="#{orderBean.selectImage}" update="@form">
                                            <p:graphicImage value="#{img.thumbNail.getString('url')}"/>
                                        </p:commandLink>
                                    </p:panel>

                                </p:dataGrid> 

                            </h:form>  

                        </p:layoutUnit>  
                    </p:layout>  

    </h:body>
</html>

私のマネージドBean(viewScoped)メソッド:

public void selectImage()
    {
        String methodName = "selectImage()";
        log.info("Entering :"+methodName);
    }

私は使用しています: primefaces:3.3.1(Tomcat 7 + Java 1.6)

4

1 に答える 1

1

primefaces docs に記載されているように、すべてを内部に配置する必要がありp:datagridますp:column

<p:dataGrid var="img" 
            value="#{orderBean.userMedia.mediaList}" 
            columns="4"  
            rows="16" 
            paginator="true"  
            paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"  
            rowsPerPageTemplate="9,12,15">  
     <p:column>
         <p:panel>
             <p:commandLink actionListener="#{orderBean.selectImage}" update="@form">
                 <p:graphicImage value="#{img.thumbNail.getString('url')}"/>
              </p:commandLink>
         </p:panel>
    </p:column>
</p:dataGrid>

Primefaces バージョン 3.4 以降、これは必須ではありませんが、バージョン 3.3.1 を使用しています。

于 2012-08-22T13:12:36.620 に答える