java使用ui:param传递值并在backingbean中访问它们
-xhtml文件
我无法访问传递的参数
<ui:insert>
<ui:include src="#{PopUpBean.includeUrl}">
<ui:param name="includeParam" id="includeParam" value="HalloWert!" />
</ui:include>
</ui:insert>
这就是我尝试访问参数的方式,我在调试器的帮助下查看了每个变量,但似乎没有传递ui:param值:
private void init () {
FacesContext ctx = FacesContext.getCurrentInstance();
ExternalContext ectx = ctx.getExternalContext();
Object o = ectx.getRequestParameterMap().get("includeParam");
Object request = ectx.getRequest();
}
@PostConstruct
public void postContruction () {
this.init();
}
谢谢你的帮助
# 1 楼答案
我找到了另一种发送信息的方法,从UI:Include发送到jsf2.2中的Bean。通过设置隐藏值并引用bean中的方法。 例如:
不需要使用:在这个文件的起始行。 这个隐藏的参数将被放在第一位,这将在bean中按顺序设置。 在这一部分。xhtml将是:
在Bean中:
# 2 楼答案
找到了解决方案
Hidden Value是rendered=false的outputLabel
这背后的想法是,您可以将参数放在JSF页面上的一个隐藏值中,然后可以从这个java代码段访问该参数