Sorting 是否覆盖显示标记外部排序?
我使用的是显示标签和SpringMVC。 基本上,我有一个这样的简单表格。注意使用外部Sorting 是否覆盖显示标记外部排序?,sorting,displaytag,Sorting,Displaytag,我使用的是显示标签和SpringMVC。 基本上,我有一个这样的简单表格。注意使用外部 <display:table id="tableId" name="data" sort="external" defaultsort="1" sort="external"> <display:column property="id" title="ID" sortable="true" sortName="id" /> <display:column prop
<display:table id="tableId" name="data" sort="external" defaultsort="1" sort="external">
<display:column property="id" title="ID" sortable="true" sortName="id" />
<display:column property="firstName" sortable="true" sortName="firstName" title="First Name" />
<display:column property="lastName" sortable="true" sortName="lastName" title="Last Name" />
<display:column property="address" sortable="true" sortName="address" title="Email Address"/>
</display:table>
要获取订单(ASC/DESC):
这一切都很好。在最后一步中,我使用定制的comparator对列表进行排序,并将其放回映射到表的属性“data”(请参见显示标记“name”属性)中
public void populateModel(模型模型,HttpRequest请求){
字符串c=request.getAttribute(新参数编码(“tableId”).encodeParameterName(TableTagParameters.PARAMETER_-SORT));
//这里比较器是用列和顺序值eg计算的
Comparator comp=新的DefaultComparator();
如果(c==1){
comp=新的数值比较器();
}
List=Collection.sort(dao.getEmployee(),comp);
model.addAttribute(“数据”,列表);
//在这里,列表已正确排序
返回“mypage”;
}
不幸的是,最终jsp中的显示并不关心列表中的顺序。它似乎是一个默认的字母数字排序器…所以即使我使用我的NumericComparator列仍然是错误的排序,我认为“列表”对象已排序前的Librarie回来显示
综上所述:
有人对此进行了解释,是否有错误或遗漏?是否希望
String c=request.Parameter(新参数编码(“tableId”).encodeParameterName(TableTagParameters.Parameter_SORT))
而不是request.getAttribute(..);不,我得到了所有的参数。一切都很好。问题是在jsp中,库不关心自定义排序,我不理解为什么。。。如果我显示没有显示标记的列表,则排序顺序为fine您不需要String c=request.Parameter(新参数coder(“tableId”).encodeParameterName(TableTagParameters.Parameter_sort))
而不是request.getAttribute(..);不,我得到了所有的参数。一切都很好。问题是在jsp中,库不关心自定义排序,我不理解为什么。。。如果我显示没有显示标记的列表,排序顺序就可以了
String c = request.getAttribute(new ParamEncoder("tableId").encodeParameterName(TableTagParameters.PARAMETER_SORT));
String order = request.getAttribute(new ParamEncoder("tableId").encodeParameterName(TableTagParameters.PARAMETER_ORDER)));
public void populateModel(Model model, HttpRequest request){
String c = request.getAttribute(new ParamEncoder("tableId").encodeParameterName(TableTagParameters.PARAMETER_SORT));
// here the comparator is computed with column and order value eg
Comparator comp = new DefaultComparator();
if(c == 1){
comp = new NumericComparator();
}
List<Employe> list = Collection.sort(dao.getEmployee(), comp );
model.addAttribute("data", list);
// here the list is sorted properly
return "mypage";
}