源码分析就不具体分析了。可以参考:ofbiz总结——使用performFind查询时如何设置查询条件值为null的情况
下面直接说结论用法:
<form name="ListFindStuBatch" list-name="listIt" title="" type="list" paginate-target="FindStuBatch"
odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
<actions>
<service service-name="performFind" result-map="result" result-map-list="listIt">
<field-map field-name="inputFields" from-field="requestParameters"/>
<field-map field-name="entityName" value="StuBatchAndLabProBach"/>
<field-map field-name="viewIndex" from-field="viewIndex"/>
<field-map field-name="viewSize" from-field="viewSize"/>
<field-map field-name="orderBy" value="date DESC|applyDate "/>
<field-map field-name="noConditionFind" value="Y"/>
</service>
</actions>
对应的是给orderBy赋值。注意对应使用from-field还是value。如果是直接赋值则使用value,是引用其他变量则使用from-field。
<field-map field-name="orderBy" value="date DESC|applyDate "/>
<field-map field-name="orderBy" value="-date | applyDate "/>
上面2条代码是等价的。可以通过加号减号,也可以通过ASC与DESC来升序降序。唯一注意点就是ASC与DESC要大写。