有没有办法获取IBM Websphere Commerce Foundation框架(WCF)的排序数据?

例如。 Websphere Commerce JSP文件中的以下代码段:

<wcf:getData type="com.ibm.commerce.store.facade.datatypes.GeoNodeType[]"
             var="geoNodes" varException="geoNodeException" expressionBuilder="findChildGeoNodesByGeoNodeUniqueID">
  <wcf:param name="accessProfile" value="IBM_Store_All" />
  <wcf:param name="parentUniqueId" value="${provinceId}" />
</wcf:getData>

如何获取此数据,以便按GeoNodeType中的给定数据字段对数据进行排序?我可以添加类似<wcf:param name="sortBy" value="Description" />的内容吗?

最佳答案

您的示例中的ExpressionBuilder“findChildGeoNodesByGeoNodeUniqueID”在 /Stores/WebContent/WEB_INF/config/com.ibm.commerce.store/get-data-config.xml 中声明如下:

<expression-builder>
    <name>findChildGeoNodesByGeoNodeUniqueID</name>
    <data-type-name>GeoNode</data-type-name>
    <expression-template>{_wcf.ap=$accessProfile$}/GeoNode[ParentGeoNodeIdentifier[UniqueID='$parentUniqueId$']]</expression-template>
    <param>
        <name>accessProfile</name>
        <value>IBM_Store_All</value>
    </param>
    <param>
        <name>parentUniqueId</name>
        <value></value>
    </param>
</expression-builder>

根据expression-builder标记文档,如果未在 expression-builder 标记内指定表达式语言,则默认使用XPath语言。不幸的是,XPath不支持订购。

我想您仍然可以实现自己的ExpressionBuilder类(尚未完成),在此新类中实现任何排序,然后在get-data-config.xml中指定它

07-25 21:29