s:link操作方法中的Backingbean参数解析为null



对不起,我是JSF 的初学者

我有一个.xhtml页面,其中包括另一个使用以下行的页面

<ui:include src="/anotherPage.xhtml">
   <ui:param name="home" value="#{someBackingBean}" />
</ui:include>

在这个页面中,我有s:link标签,用于下载引用"someBackingBean"方法的图片。我通过以下方式做到这一点:

<s:link action="#{home.retrieveLogo(null)}">
     <h:graphicImage id="image1" value="/img/icon.png" />
</s:link>

现在,当我点击这个图标时,我得到以下错误:

javax.el.PropertyNotFoundException: Target Unreachable, identifier 'home' resolved to null

知道为什么会发生这种事吗?

编辑

我设法通过使用h:commandLink而不是s:link来解决这个问题。但我不知道为什么它能起作用。我认为这与提交表格有关。

您可能应该阅读这里的文档,该组件用于导航,当指定了action属性时,该方法应该返回一个字符串,该字符串决定重定向到哪里。

在您的情况下,如果您不想重定向用户

,那么commandLink听起来会更好

最新更新