我有一个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")}"
实现它,但我收到错误。我可以用于此目的的任何属性吗?
答案 0 :(得分:5)
尝试以下列方式使用<h:commandLink>
,它应该可以正常工作
<h:commandLink id="hLink" value="History" action="#{HistoryLinkController.linkValue}" >
<f:param name="sessID" value="#{item.aSessionID}" />
</h:commandLink>
并且bean“HistoryLinkController”应该有类似
的方法public String linkValue(){
// get "sessID" from FacesContext
...
return "/HistoryLink.xhtml";
}
答案 1 :(得分:2)
将h:outputLink替换为h:commandLink。
答案 2 :(得分:1)
我还尝试导航到某个视图,同时将值传递给另一个bean,但我没有得到它。但我得到的是---
如果可能,U可以保留在同一个bean类中,并使用navigation rules
中的faces-config.xml
导航到另一个页面。
在ajax中,action
将比其actionListener
更早被调用。
希望它能帮助你找到方法...