【问题标题】:How do i assign s:link to a ui:param value field?如何将 s:link 分配给 ui:param 值字段?
【发布时间】:2012-07-13 01:05:43
【问题描述】:

我有一个模板,我需要在其中设置 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>

我该怎么做?

【问题讨论】:

    标签: java jsf seam facelets


    【解决方案1】:

    &lt;ui:param/&gt; 用于传递字符串和类似的简单值。您所追求的功能由&lt;ui:insert/&gt;&lt;ui:define/&gt; 提供。

    在您的模板中,您需要通过&lt;ui:insert/&gt; 指明插入点:

    <ui:insert name="pagecanonical" />
    

    在您的页面中,通过&lt;ui:decorate/&gt; 包含模板并使用您的链接重新定义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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 2012-02-18
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      相关资源
      最近更新 更多