【问题标题】:XPages repeat control header facetXPages 重复控制标题方面
【发布时间】:2016-04-05 16:50:09
【问题描述】:

我想在标题方面的第一个 <th> 标记中插入一个带有事件处理程序的链接。请参阅下面的示例代码:

<xp:this.facets>
<xp:text disableTheme="true" xp:key="header" escape="false">
<xp:this.value><![CDATA[
<table class="table table-striped table-hover">
<thead>
<tr>
<th>
<xp:link escape="true" text="" id="link1">
    <i id="myIconLink" class="fa fa-square-o fa-lg text-success"></i>
    <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="tab2Panel">
    <xp:this.action><![CDATA[#{javascript:
    sessionScope.selectAll = "1";
    }]]></xp:this.action>
    </xp:eventHandler>

</xp:link>                                  
</th>
<th>Project Title</th>
<th>Type of Expenditure</th>    
<th>Plan Amount</th>
<th>Fiscal Year</th>    
</tr>
</thead>
<tbody>]]>
</xp:this.value>
</xp:text>
<xp:text disableTheme="true" xp:key="footer"
escape="false">
<xp:this.value><![CDATA[
</tbody>
</table>]]></xp:this.value>
</xp:text>
</xp:this.facets>

我得到的错误是:

有人对如何解决这个问题有任何建议吗?

【问题讨论】:

    标签: header xpages repeat


    【解决方案1】:

    您不能在计算字段的 value 属性中嵌入 XPages 标记。任何 XPages 标记都需要由编译器转换为 Java 对象,但计算值是在运行时计算的。

    有两种可能的方法。将链接创建为调用 JSON RPC 服务 http://www.notesin9.com/2014/05/21/tim-explains-json-rpc-codefortim/ 的 HTML 链接。这将确保标头方面的 HTML 是最佳实践。

    另一种方法是使用 xp:div 代替 xp:text,然后根据需要使用 HTML 或 XPages 组件。这可能是更简单的选择(除非您完全熟悉 JSON RPC 服务),但会影响输出的 HTML。

    【讨论】:

    • 谢谢保罗。我只是通过摆脱页眉和页脚方面来规避这个问题:)
    • Careful Dan - 我同意这方面的东西很糟糕,但是跳过它们并将重复控件放在 标记中会产生无效的 HTML 和可能的其他问题。
    • 仅供参考,为避免 xp:div 影响 HTML,您可以使用 xp:panel disableOutputTag="true",它将输出没有容器 div 的面板内容。 disableOutputTag 属性是在 8.5.3 中添加的。
    • Maire - 是的,你可以这样做,但如果你这样做了,那是否不会阻止将 Pager 添加到重复控件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多