Я новичок в структуре Richfaces, которую я собираюсь использовать в ближайшем проекте в своей работе.rich: сортировка столбцов не может быть решена
Я создал простой пример, в котором у меня есть богатый: dataTable, и я пытаюсь сортировать столбцы. Я прочитал в учебнике (http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/rich_column.html), что все, что мне нужно, - это ввести параметр «sortBy» в тег «rich: column». К сожалению, столбцы не сортируются. Кто-нибудь может мне помочь? Ниже исходный код моего простого приложения:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<f:view>
<h:head></h:head>
<h:body>
<rich:panel header="Richfaces dataTable">
<rich:dataTable value="#{TaskListBean.dataList}" var="dataItem"
rows="4" columnClasses="50,100,100,100"
onRowMouseOver="this.style.backgroundColor='#B5F3FB'"
onRowMouseOut="this.style.backgroundColor='#{a4jSkin.rowBackgroundColor}'"
width="350">
<f:facet name="caption">
<h:outputText value="This is the caption" />
</f:facet>
<f:facet name="header">
<h:outputText value="Trouble Ticket Systems" />
</f:facet>
<rich:column colspan="4">
<h:outputText value="Trouble Tickets opened" />
</rich:column>
<rich:column sortBy="#{dataItem.taskInstanceId}">
<f:facet name="header">Ticket Id</f:facet>
<h:outputText value="#{dataItem.taskInstanceId}" />
</rich:column>
<rich:column sortBy="#{dataItem.taskNode}">
<f:facet name="header">Status</f:facet>
<h:outputText value="#{dataItem.taskNode}" />
</rich:column>
<rich:column sortBy="#{dataItem.actorId}">
<f:facet name="header">Actor</f:facet>
<h:outputText value="#{dataItem.actorId}" />
</rich:column>
<rich:column>
<f:facet name="header">Description</f:facet>
<h:outputText value="#{dataItem.description}" />
</rich:column>
<f:facet name="footer">
<h:outputText value="This is the footer" />
</f:facet>
</rich:dataTable>
</rich:panel>
</h:body>
</f:view>
Menaged Bean моего приложения:
package richfacesr;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
@ManagedBean(name = "manager")
public class TaskListBean implements Serializable {
private ArrayList dataList;
public void loadDataList() {
dataList = new ArrayList();
TaskListData data1 = new TaskListData();
data1.setTaskInstanceId(1000l);
data1.setActorId("Willy smith");
data1.setTaskNode("In Charge");
data1.setDescription("CR 123456");
TaskListData data2 = new TaskListData();
data2.setTaskInstanceId(1001l);
data2.setActorId("Frank Sinatra");
data2.setTaskNode("Rejected");
data2.setDescription("CR 654321");
dataList.add(data1);
dataList.add(data2);
}
public List<TaskListData> getDataList() {
loadDataList();
return dataList;
}
}
и объект:
package richfacesr;
import java.util.ArrayList;
import java.util.List;
public class TaskListData {
private String taskNode;
private long taskInstanceId;
private String actorId;
private String description;
public String getActorId() {
return actorId;
}
public void setActorId(String actorId) {
this.actorId = actorId;
}
public String getTaskNode() {
return taskNode;
}
public void setTaskNode(String currentNode) {
this.taskNode = currentNode;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public long getTaskInstanceId() {
return taskInstanceId;
}
public void setTaskInstanceId(long taskInstanceId) {
this.taskInstanceId = taskInstanceId;
}
}
Используете ли вы JSF 2.x и Richfaces 4.X или JSF 1.X и Richfaces 3.X? Я знаю, что вы разместили ссылку на документы Richfaces 3, но это может быть ошибка ... – cheffe
Спасибо за ответ. Я знаю, что это другая версия JSF в учебнике, но я думал, что они совместимы с предыдущим ...? Я использую JSF 2.2 и версию Richface 5.0.0 Alpha1. Я работаю над Websphere и очень сложно настроить проект в своей среде, поэтому я создал его из архетипа Maven. Если у вас есть лучший архетип с окончательной версией Richfaces (предположим, что это будет решение для моей проблемы (?)), Это будет очень полезно :) –
Собираетесь ли вы использовать этот проект в производстве? Если это так, я предлагаю откат к Richfaces 4. Так как Richfaces 5 все еще _alpha_, который даже не стабилен по производительности или этот проект будет работать более полугода? Тогда вы наверняка столкнетесь с выпуском RF 5. – cheffe