Primefaces裁剪转换器错误

时间:2013-02-25 16:55:03

标签: jsf-2 primefaces

我正在使用以下代码并尝试裁剪一个从bean获取其值的图像:

        <p:panelGrid columns="2">
            <p:row>
                <p:column>
                    <p:imageCropper id="imageCropperId" value="#{imageCropperBean.croppedImage}"
                        image="#{imageCropperBean.newImageName}">
                    </p:imageCropper>
                </p:column>
                <p:column>Bild innerhalb des Rahmens positionieren</p:column>
                <p:column>
                    <p:graphicImage id="localCroppedImage" value="#{imageCropperBean.newImageName}" />
                </p:column>
            </p:row>
            <p:row>
                <p:column colspan="3">
                    <p:commandButton value="Crop" actionListener="#{imageCropperBean.crop}"
                        update=":growl imageCropperId localCroppedImage" />
                </p:column>
            </p:row>
        </p:panelGrid>

我总是收到错误: {0}:发生转换错误。在咆哮中,由于:

value="#{imageCropperBean.croppedImage}" 

声明中的转换器属性说:

  

用于定义转换器的el表达式或文字文本   零件。当它是EL表达式时,它被解析为转换器   实例。如果它是静态文本,则必须引用转换器ID。

但EL表达式是在String处计算的。我该怎么办?如果我将普通的String指向现有图像,它就可以工作。

1 个答案:

答案 0 :(得分:0)

我已设法修复此错误。

对于具有相同问题的那些,基本上会在

时发生
  • 在裁剪阶段(例如,未找到文件或裁剪后的图像与原始图像不相关
  • )时会抛出任何错误
  • 从EL image="#{imageCropperBean.newImageName}"评估的值被评估为null,同时尝试跳过裁剪(我无法使用required =“true”,因此我使用了render =“someCondition”)