我正在创建Web应用程序,其中包含以下代码。
<p:commandButton ajax="false"
style="#{patentInfo.photoType.contains('application')?
'visibility:visible;width:200px;height:200px;
background-image: url(DisplayImage?mainID=tempo1&id=#{patentInfo.photoType});
background-repeat: no-repeat;background-size: 100% 100%;'
:
'visibility:hidden;width:2px;height:2px;'}">
我正在设置背景图像,我将Java类用作DisplayImage
并将参数传递给mainID=tempo1&id=#{patentInfo.photoType}
。在java中,我正在打印mainID
&amp; id
用于测试目的。
DipalyImage.java
String mainID = request.getParameter("mainID");
String id = request.getParameter("id");
System.out.println("mainID=="+mainID+", id=="+id);
patentInfo.photoType
会将数据保存为application/pdf
问题在于我传递的背景图片参数。
当我使用background-image: url(DisplayImage?mainID=tempo1&id=#{patentInfo.photoType});
&amp;打印mainID
&amp; id
我得到的价值如下。
mainID=temp1
&amp; id=
我没有得到任何关于身份.....
当我使用background-image: url(DisplayImage?mainID=tempo1&id=patentInfo.photoType);
&amp;打印mainID
&amp; id
我得到的价值如下。
mainID=temp1
&amp; id=patentInfo.photoType
我在这里做错了什么?
我期待输出为mainID=temp1
&amp; id=application/pdf
答案 0 :(得分:1)
问题是你的el。{/ p>中有#{ ... #{} ...}
尝试这样的事情:
<p:commandButton ajax="false" style="#{patentInfo.photoType.contains('application')?'visibility:visible;width:200px;height:200px;background-image: url(DisplayImage?mainID=tempo1&id='.concat(patentInfo.photoType).concat(';background-repeat: no-repeat;background-size: 100% 100%;'):'visibility:hidden;width:2px;height:2px;'}">