如何指定s:链接到ui:param值字段?

时间:2012-07-13 07:36:35

标签: java jsf seam facelets

我有一个模板,我需要设置 ui:param

<ui:param name="pageCononical" value="#{somevalue}"/>

value =“#{somevalue} 需要是 s:link

<s:link id="canonical" view="/rewriteSearchLink/resultsPage.xhtml" propagation="none">
   <f:param name="searchString" value="#{currentSearch.searchString}"/>
   <f:param name="placeString" value="#{currentSearch.placeString}"/>
   <f:param name="currentPage" value="#{currentSearch.currentPage}"/>
</s:link>

我该怎么做?

1 个答案:

答案 0 :(得分:2)

<ui:param/>用于传递字符串和类似的简单值。您所使用的功能由<ui:insert/><ui:define/>提供。

在模板中,您需要通过<ui:insert/>指示插入点:

<ui:insert name="pagecanonical" />

在您的信息页中,通过<ui:decorate/>添加模板,并使用您的链接重新定义pagecanonical占位符:

<ui:decorate template="mytemplate.xhtml">
  <ui:define name="pagecanonical">
    <s:link id="canonical" view="/rewriteSearchLink/resultsPage.xhtml" propagation="none">
      <f:param name="searchString" value="#{currentSearch.searchString}"/>
      <f:param name="placeString" value="#{currentSearch.placeString}"/>
      <f:param name="currentPage" value="#{currentSearch.currentPage}"/>
    </s:link>
  </ui:define>
</ui:decorate>