我有一个h:outputLink,它将打开新的JSF页面并发送h:param

<h:outputLink id="lnkHidden" action="#{HistoryLinkController.linkValue("test")}" value="HistoryLink.xhtml" style="display:none">
<f:param name="id" value="#{item.aSessionID}" />
</h:outputLink>


我想要单击它以将值发送到第二个托管bean。我尝试使用action="#{HistoryLinkController.linkValue("test")}"实现它,但出现错误。我可以为此使用任何属性吗?

最佳答案

尝试通过以下方式使用<h:commandLink>,它应该可以正常工作

<h:commandLink id="hLink" value="History" action="#{HistoryLinkController.linkValue}" >
 <f:param name="sessID" value="#{item.aSessionID}" />
</h:commandLink>


并且“ HistoryLinkController” bean应该具有类似的方法

public String linkValue(){
   // get "sessID" from FacesContext
   ...
   return "/HistoryLink.xhtml";
}

08-29 00:15