Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.7.2
-
Component/s: ICE-Components
-
Labels:None
-
Environment:All
-
Workaround Exists:Yes
-
Workaround Description:Hardcode label attribute.
Description
Note from customer:
More issues with outputResource...
This works...
<ice:outputResource
resource="#{hc1099rep2008Pdf.resourceMap[hc1099]}" mimeType="application/pdf"
fileName="#{msg.searchResults_link_view}"
value="view"
type="button"
attachment="false"/>
Also This works..
<ice:outputResource
resource="#{hc1099rep2008Pdf.resourceMap[hc1099]}" mimeType="application/pdf"
fileName="#{msg.searchResults_link_view}"
label="view"
value="view"
attachment="false"/>
This doesn't
<ice:outputResource
resource="#{hc1099rep2008Pdf.resourceMap[hc1099]}" mimeType="application/pdf"
fileName="#{msg.searchResults_link_view}"
label="#{msg.searchResults_link_view}"
value="view"
attachment="false"/>
Note the value binding for label instead of it hard coded that appears to cause problem. hard coding works.....
I get following error
java.lang.NullPointerException
at com.sun.facelets.el.ELAdaptor.getELContext(ELAdaptor.java:47)
at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:54)
at com.icesoft.faces.component.outputresource.OutputResource.getLabel(OutputResource.java:189)
at com.icesoft.faces.component.outputresource.OutputResource$1.withOptions(OutputResource.java:89)
at com.icesoft.faces.webapp.http.core.ResourceDispatcher$ResourceServer.respond(ResourceDispatcher.java:100)
at com.icesoft.faces.webapp.http.common.standard.CompressingServer$CompressingRequest$1.respond(CompressingServer.java:65)
at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:167)
at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36)
at com.icesoft.faces.webapp.http.common.standard.CompressingServer$CompressingRequest.respondWith(CompressingServer.java:61)
at com.icesoft.faces.webapp.http.core.ResourceDispatcher$ResourceServer.service(ResourceDispatcher.java:94)
at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:24)
at com.icesoft.faces.webapp.http.common.standard.CompressingServer.service(CompressingServer.java:44)
at com.icesoft.faces.webapp.http.core.ResourceDispatcher.service(ResourceDispatcher.java:41)
at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:24)
at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:160)
More issues with outputResource...
This works...
<ice:outputResource
resource="#{hc1099rep2008Pdf.resourceMap[hc1099]}" mimeType="application/pdf"
fileName="#{msg.searchResults_link_view}"
value="view"
type="button"
attachment="false"/>
Also This works..
<ice:outputResource
resource="#{hc1099rep2008Pdf.resourceMap[hc1099]}" mimeType="application/pdf"
fileName="#{msg.searchResults_link_view}"
label="view"
value="view"
attachment="false"/>
This doesn't
<ice:outputResource
resource="#{hc1099rep2008Pdf.resourceMap[hc1099]}" mimeType="application/pdf"
fileName="#{msg.searchResults_link_view}"
label="#{msg.searchResults_link_view}"
value="view"
attachment="false"/>
Note the value binding for label instead of it hard coded that appears to cause problem. hard coding works.....
I get following error
java.lang.NullPointerException
at com.sun.facelets.el.ELAdaptor.getELContext(ELAdaptor.java:47)
at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:54)
at com.icesoft.faces.component.outputresource.OutputResource.getLabel(OutputResource.java:189)
at com.icesoft.faces.component.outputresource.OutputResource$1.withOptions(OutputResource.java:89)
at com.icesoft.faces.webapp.http.core.ResourceDispatcher$ResourceServer.respond(ResourceDispatcher.java:100)
at com.icesoft.faces.webapp.http.common.standard.CompressingServer$CompressingRequest$1.respond(CompressingServer.java:65)
at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:167)
at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36)
at com.icesoft.faces.webapp.http.common.standard.CompressingServer$CompressingRequest.respondWith(CompressingServer.java:61)
at com.icesoft.faces.webapp.http.core.ResourceDispatcher$ResourceServer.service(ResourceDispatcher.java:94)
at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:24)
at com.icesoft.faces.webapp.http.common.standard.CompressingServer.service(CompressingServer.java:44)
at com.icesoft.faces.webapp.http.core.ResourceDispatcher.service(ResourceDispatcher.java:41)
at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:24)
at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:160)
I have tested the following snippet, and it works fine. Can you please attach a test case which demonstrate the problem.
<ice:dataTable border="1" var="item" value="#
{myBean.dataList}">
{item.fileName}"<ice:column>
<f:facet name="header">
<ice:outputText value="Resource" />
</f:facet>
<ice:outputResource shared="false" fileName="#
resource="#{item.fileResource}" label="#{item.fileName}
" />
</ice:column>
</ice:dataTable>