PrettyFaces和JSF 2:我们总是需要传递参数的URL来检索他们?(PrettyFaces

2019-09-27 09:46发布

我们总是需要传递参数的URL来检索他们?

在我的例子,我不能去找回我的PARAM命名为“研究”; 我应该怎么做呢?

XHTML文件发送方:

<h:commandButton  value="Send" type="button" action="pretty:participant">
    <f:param  name="study"  value ="test"  />
</h:commandButton> 

XHTML文件Recever:

<h:outputFormat value="Print : {0} ">
   <f:param value="#{study}" />      
</h:outputFormat>

漂亮的XML配置:

<url-mapping id="participant">
    <pattern value="/Participant/New/" />
    <view-id value="/addParticipant.xhtml" />
</url-mapping>

Answer 1:

如果你想使用prettyfaces做到这一点,是的,你必须因为它是一个网址rewritting工具,所以PARAMS必须进入网址。 为了您的代码工作,你应该使用f:viewParam标签在接收器页面使用它之前:

<f:metadata>
    <f:viewParam name="study" value="#{destinationBean.study}" />
</f:metadata>

<h:outputFormat value="Print : {0} ">
   <f:param value="#{destinationBean.study}" />      
</h:outputFormat>

不过,如果你想摆脱通过URL发送参数的,你有闪光范围作为替代。 然而,这涉及到JSF而不是Prettyfaces。 如果你想要去的这种解决方案我强烈建议你避免钻嘴鱼科JSF 2.x的早期版本,因为它们是越野车有关这一点。



Answer 2:

是的,你必须从某个地方存储参数的URL再取回。 你可以用无论是做这个路径参数或查询参数 。 通常,您将参数bean属性绑定您的映射。 这样,你可以检索使用这指的是你的bean属性的标准EL表达式在页面的价值。



文章来源: PrettyFaces & JSF 2 : Do we always need to pass parameters to the URL to retrieve them?