【问题标题】:Replace code for rich:suggestionbox with rich:autocomplete用rich:autocomplete 替换rich:suggestionbox 的代码
【发布时间】:2016-05-12 22:21:30
【问题描述】:

我正在处理从 3.3 到 4.2 的 Richfaces 迁移。我坚持用rich:autocomplete 标记替换rich:suggestionbox 标记。

Richfaces 3.3 代码,

<rich:suggestionbox for="officerSrch" minChars="2" nothingLabel="No managers found"
                                suggestionAction="#{batchProcessor.searchOfficers}" fetchValue=""
                                var="o" eventsQueue="officerQueue"
                                height="270" width="480">   
                    <a4j:support event="onselect" action="#{accountLookupAction.add(o)}" reRender="params"/>                    
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Employee ID"/>
                        </f:facet>
                        <h:outputText value="#{o.employeeId}"/>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="First Name"/>
                        </f:facet>
                        <h:outputText value="#{o.firstName}"/>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Last Name"/>
                        </f:facet>
                        <h:outputText value="#{o.lastName}"/>
                    </h:column>
                </rich:suggestionbox>

谁能指导我将上面的代码转换为richfaces 4?

【问题讨论】:

    标签: jsf-2 richfaces


    【解决方案1】:

    Richfaces 4.2.0 最终版本 Rich:autocomplete 无法正常工作。根据 Jboss 开发人员的建议,我已将版本从 4.2.0.Final 升级到 4.5.13.Final。

    您可以参考以下链接,https://developer.jboss.org/thread/267610

    我已经找到了解决这个问题的方法。这将有助于解决面临同样问题的人。这是你的解决方案,

    <rich:autocomplete mode="cachedAjax" minChars="2" autofill="false" selectFirst="false" 
                        autocompleteMethod="#{batchProcessor.searchOfficers}" id="officerSrch" layout="table" fetchValue="#{o.employeeId}"
                        value="#{accountLookupAction.empId}" var="o" eventsQueue="officerQueue" height="270" width="480">   
                        <h:column>
                            <f:facet name="header">
                                <h:outputText value="Employee ID"/>
                            </f:facet>               
                            <h:outputText value="#{o.employeeId}"/>
                        </h:column>
                        <h:column>
                            <f:facet name="header">
                                <h:outputText value="First Name"/>
                            </f:facet>
                            <h:outputText value="#{o.firstName}"/>
                        </h:column>
                        <h:column>
                            <f:facet name="header">
                                <h:outputText value="Last Name"/>
                            </f:facet>
                            <h:outputText value="#{o.lastName}"/>
                        </h:column>
                        <a4j:ajax event="selectitem" listener="#{accountLookupAction.addOfficer()}" render="params"/>
                    </rich:autocomplete>
    
    1. rich:aotocomplete 不支持标头值。
    2. fetchValue 属性不能为空,您应该分配您指定的值 想在动作类中使用。
    3. 您不能通过rich:autocomplete 分配或传递任何对象。目前只支持字符串值。

    【讨论】:

      猜你喜欢
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      相关资源
      最近更新 更多