0

次のコードを使用して、 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 で評価されます。私は何をすべきか?既存の画像を指す通常の文字列を配置すると機能します。

4

1 に答える 1

0

私はなんとかこのエラーを修正することができました。

同じ問題が発生するものの場合、基本的にこれは次の場合に発生します

  • トリミングフェーズ中にエラーがスローされています(たとえば、ファイルが見つからない場合、またはトリミングされた画像が元の画像と相対的でない場合)
  • ELから評価された値は image="#{imageCropperBean.newImageName}"、トリミングをスキップしようとしているときにnullと評価されます(required = "true"で成功できなかったため、rendering = "someCondition"を使用しました)
于 2013-03-10T07:46:26.423 に答える