有没有办法获取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中指定它