0

以下のコードを持つ Web アプリケーションを作成しています。

<p:commandButton ajax="false" 
 style="#{patentInfo.photoType.contains('application')?
 'visibility:visible;width:200px;height:200px;
  background-image: url(DisplayImage?mainID=tempo1&amp;id=#{patentInfo.photoType});
  background-repeat: no-repeat;background-size: 100% 100%;'
 :
 'visibility:hidden;width:2px;height:2px;'}">

Javaクラスを使用している背景画像DisplayImageを設定し、それらにパラメータを渡していますmainID=tempo1&amp;id=#{patentInfo.photoType}。Javaでは、テスト目的でmainID&を印刷しています。id

DipalyImage.java

String mainID = request.getParameter("mainID");
String id = request.getParameter("id");
System.out.println("mainID=="+mainID+", id=="+id);

patentInfo.photoTypeとしてデータを保持しますapplication/pdf

問題は、私が渡している背景画像パラメーターにあります。

  1. background-image: url(DisplayImage?mainID=tempo1&amp;id=#{patentInfo.photoType});& print mainID&を使用するとid、以下のような値が得られます。

    mainID=temp1&id=

    私はIDのために何も取得しません.....

  2. background-image: url(DisplayImage?mainID=tempo1&amp;id=patentInfo.photoType);& print mainID&を使用するとid、以下のような値が得られます。

    mainID=temp1&id=patentInfo.photoType

ここで何が間違っていますか?

mainID=temp1&としての出力を期待していますid=application/pdf

4

1 に答える 1

1

問題は、あなたが#{ ... #{} ...}あなたのエルにいるということです。

次のようなことを試してください:

<p:commandButton ajax="false" style="#{patentInfo.photoType.contains('application')?'visibility:visible;width:200px;height:200px;background-image: url(DisplayImage?mainID=tempo1&amp;id='.concat(patentInfo.photoType).concat(';background-repeat: no-repeat;background-size: 100% 100%;'):'visibility:hidden;width:2px;height:2px;'}">

于 2012-08-25T07:19:55.503 に答える