1

af:paramタグのマイ値'image_id'はnullを返します。

JSFサイト

    <p:dataGrid value="#{main.game.cards}" var="cad" columns="3"
                            rows="12" paginator="true"
                            paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                            rowsPerPageTemplate="5,10,25, 50, 100"> 
                            <p:panel header="Nr. #{cad.id}">
                                    <f:param name="image_id" id="image_id" value="#{cad.id}"></f:param>
                                <p:graphicImage cache="true" value="#{main.fileContent}">

                                </p:graphicImage>    

                            </p:panel>
                        </p:dataGrid>  

</h:form>

値を読み取ろうとしています:

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    String photoId = externalContext.getRequestParameterMap().get("image_id");
4

1 に答える 1

3

<f:param>内部に<p:graphicImage>配置する必要がありますが、コードでは外部に配置しています。それに応じて修正してください。

nullちなみに、JSFが要素を生成しようとしているときではなく、Webブラウザが画像を要求したときにのみ送信されます(したがって非送信されます) <img>。したがって、#{main.fileContent}ゲッターは1つの画像に対して2回呼び出されます。1回目はHTMLが生成されるとき、2回目はWebブラウザーが実際に画像を要求するときです。

参照:

于 2012-08-03T14:22:22.273 に答える