【问题标题】:f:param returns null?f:param 返回空值?
【发布时间】:2012-08-03 13:14:37
【问题描述】:

来自 f:param 标记的 My Value '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");

【问题讨论】:

    标签: java jsf primefaces


    【解决方案1】:

    &lt;f:param&gt; 必须放在 &lt;p:graphicImage&gt; 内部,但在您的代码中,您已将其放在外部。相应地修复它。

    它只会在 webbrowser 请求图像时发送(因此不是null),而不是在 JSF 即将生成 &lt;img&gt; 元素时发送。因此,#{main.fileContent} getter 将针对单个图像调用两次:第一次是生成 HTML 时,第二次是网络浏览器实际请求图像时。

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 2021-12-21
      • 2015-11-07
      • 2020-05-20
      相关资源
      最近更新 更多