1

我在 xpages 中创建了一个搜索控件,效果很好。我现在的问题是如何创建链接以打开结果。这也可以正常工作,除非结果在 xpages 重复控件中。所以我的问题是如何直接跳转到特定站点和该站点上的特定文档,例如页面站点 3 和第 5 个文档。是否可以执行多个锚链接(打开站点,跳转到重复控件中的页面,而不是跳转到文档......)。如果我的深层链接和我的标签链接有相同的“问题”。

谢谢阿明

重复的代码看起来像这样(我清理了一些引导程序的东西,希望不多)

    <xp:dominoView var="viewSC" sortColumn="sorting"
        sortOrder="descending">
        <xp:this.viewName><![CDATA[#{javascript:if (sessionScope.level2UNID == ""){
    return "HV3101";
}else{
    return "HV3201";
}}]]></xp:this.viewName>

        <xp:this.search><![CDATA[#{javascript:var qString:String;
if (sessionScope.level2UNID != null & sessionScope.level2UNID != ""){
    qString = "(Field level2Key = \"" + sessionScope.level2UNID + "\")";
}else{
    qString = "(Field level1Key = \"" + sessionScope.level1UNID + "\")";
}
sessionScope.l3Query = qString;
return qString;}]]></xp:this.search>
    </xp:dominoView>


    <xp:panel id="contentRepeat" styleClass="content">
        <xp:repeat id="level3" rows="2" var="level3List"
            disableOutputTag="true" value="#{viewSC}" indexVar="L3X">
            <xp:panel id="repeatFrame" disableOutputTag="true">
                <xp:this.data>
                    <xp:dominoDocument var="docL3" action="openDocument"
                        documentId="#{javascript:level3List.getNoteID()}"
                        ignoreRequestParams="true">
                    </xp:dominoDocument>
                </xp:this.data>

                <xp:panel id="anchor" tagName="a">
                    <xp:this.attrs>
                        <xp:attr name="name">
                            <xp:this.value><![CDATA[#{javascript:try{
docL3.getItemValueString("UniqueID");
}catch (e){
 sessionScope.L3Err = e;
}}]]></xp:this.value>
                        </xp:attr>
                    </xp:this.attrs>
                </xp:panel>

                <xp:panel id="bsAccordion" styleClass="accordion">
                    <xp:div styleClass="accordion-group">
                        <xp:div styleClass="accordion-heading">
                            <xp:link escape="true" styleClass="accordion-toggle" id="toggleSubContent">
                                <xp:this.attrs>
                                    <xp:attr name="data-toggle" value="collapse">
                                    </xp:attr>
                                    <xp:attr name="data-parent" value="##{id:bsAccordion}">
                                    </xp:attr>
                                </xp:this.attrs>
                                <xp:this.text><![CDATA[#{javascript:try{
if(level3List != null){
    var nd:NotesDocument = level3List.getDocument();
    if(nd != null){
        if(nd.getItemValueString("dspCreated") == "1"){
            var creationDate:NotesDateTime = nd.getItemValueDateTimeArray("created")[0];
            return " " + nd.getItemValueString("title") + " (Erstellt: " + creationDate.getDateOnly() + ")";
        }else{
            return " " + nd.getItemValueString("title");
        }       
    }
}
}catch(e){
    sessionScope.errorEx = e;
}}]]></xp:this.text>
                                <xp:this.value><![CDATA[#{javascript:x$(getComponent("accordionCollapse").getClientId(facesContext))}]]></xp:this.value>
                                <i class="icon-minus"></i>
                            </xp:link>
                            <xp:link escape="true" id="link1" value="##{id:pager1}">
                                <xp:this.text><![CDATA[#{javascript:"aP" + L3X}]]></xp:this.text>
                            </xp:link>
                        </xp:div>
                        <xp:panel styleClass="accordion-body collapse in" id="accordionCollapse">
                            <xp:div styleClass="accordion-inner">
                                <xp:panel id="subRTContent" styleClass="l3Content">
                                    <xp:inputRichText id="dspLevel3" value="#{docL3.content}"
                                        readonly="true" styleClass="l3Content">
                                    </xp:inputRichText>
                                </xp:panel>
                                <xp:panel styleClass="contentFooter" id="contentSFooter">

                                        </xp:panel>
                            </xp:div>
                        </xp:panel>
                    </xp:div>
                </xp:panel>

            </xp:panel>
        </xp:repeat>
    </xp:panel>
4

1 回答 1

1

一些可能会帮助您继续前进的建议:

  • 停止重复分页。extlib 有一个很好的“显示更多”示例,因此您不会显示 1-20、21-40 等,而是显示直到找到的记录(可能不适用于大型数据集)
  • 打开带有指示文档位置编号的 URL 参数的搜索页面(例如 498)。然后使用该参数让重复控制找出起始位置(这取决于重复配置的文档数量(默认为 30,但您不知道)。只要确保不要使用未选中的传递参数.
  • 您可以将<a name="[unid]">(或 id=)标签添加到重复中,然后 [直接导航] (http://reference.sitepoint.com/html/a) 给它们 ....nsf/searchResults.xsp#unid?moreParameters

让我们知道怎么回事

于 2013-07-11T01:26:38.240 回答