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 类 asDisplayImage并将参数传递给那些 as 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=

    我没有得到任何身份证件......

  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

问题是你#{ ... #{} ...}的 el.

尝试这样的事情:

<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 回答