gpt4 book ai didi

jsf - 无法在 RichFaces 4 中进行 sortBy 工作

转载 作者:行者123 更新时间:2023-12-05 00:31:20 24 4
gpt4 key购买 nike

我正在关注这个例子:http://mkblog.exadel.com/2008/11/richfaces-built-in-sorting/

它说箭头应该出现在标题旁边,用户可以单击它进行排序。

但我无法让箭头出现。你帮助赞赏。

我使用的代码:

新奇迹.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich">
<h:head>
<title>Requirement Workflow</title>



</h:head>
<h:body>

<rich:dataTable value="#{newWondersBean.sevenNewWonders}" var="wonder">
<rich:column sortBy="#{wonder.name}">
<f:facet name="header">Name</f:facet>
<h:outputText value="#{wonder.name}" />
</rich:column>
<rich:column sortBy="#{wonder.location}">
<f:facet name="header">Location</f:facet>
<h:outputText value="#{wonder.location}" />
</rich:column>
<rich:column>
<f:facet name="header">Image</f:facet>
<h:graphicImage url="#{wonder.imageUrl}" />
</rich:column>
</rich:dataTable>

</h:body>
</html>

NewWondersBean.java
        package wonder;

import java.util.ArrayList;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean
@ViewScoped
public class NewWondersBean {

private ArrayList <Wonder> sevenNewWonders = new ArrayList <Wonder>();

@PostConstruct
public void init () {
sevenNewWonders = new ArrayList <Wonder>();
sevenNewWonders.add(new Wonder("Chichen Itza", "Mexico", "http://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Chichen-Itza-Castillo-Seen-From-East.JPG/90px-Chichen-Itza-Castillo-Seen-From-East.JPG"));
sevenNewWonders.add(new Wonder("Christ the Redeemer", "Brazil", "http://upload.wikimedia.org/wikipedia/commons/thumb/5/50/CorcovadofotoRJ.jpg/90px-CorcovadofotoRJ.jpg"));
sevenNewWonders.add(new Wonder("Colosseum", "Italy", "http://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Colosseum_in_Rome%2C_Italy_-_April_2007.jpg/90px-Colosseum_in_Rome%2C_Italy_-_April_2007.jpg"));
sevenNewWonders.add(new Wonder("Great Wall of China", "China", "http://upload.wikimedia.org/wikipedia/commons/thumb/1/16/GreatWallNearBeijingWinter.jpg/90px-GreatWallNearBeijingWinter.jpg"));
sevenNewWonders.add(new Wonder("Machu Picchu", "Peru", "http://upload.wikimedia.org/wikipedia/commons/thumb/1/13/Before_Machu_Picchu.jpg/90px-Before_Machu_Picchu.jpg"));
sevenNewWonders.add(new Wonder("Petra", "Jordan", "http://upload.wikimedia.org/wikipedia/commons/thumb/0/06/PetraMonastery.JPG/90px-PetraMonastery.JPG"));
sevenNewWonders.add(new Wonder("Taj Mahal", "India", "http://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Taj_Mahal_in_March_2004.jpg/90px-Taj_Mahal_in_March_2004.jpg"));
}

public ArrayList <Wonder> getSevenNewWonders() {
return sevenNewWonders;
}
}

奇迹.java
            package wonder;

public class Wonder {

public Wonder(String string, String string2, String string3) {
// TODO Auto-generated constructor stub
this.name = string;
this.location = string2;
this.imageUrl = string3;
}

public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}

public void setLocation(String location) {
this.location = location;
}

public String getLocation() {
return location;
}

public void setImageUrl(String imageUrl) {
this.imageUrl = imageUrl;
}

public String getImageUrl() {
return imageUrl;
}

private String name;
private String location;
private String imageUrl;

}

最佳答案

据我了解,Richfaces 4 的排序发生了变化。

您需要有一个 Map <String, SortOrder>并且您需要向您的rich:column 添加一个属性,其中sortOrders 是上面的Map,而vendor 是给定列的键。

 sortOrder="#{bean.sortsOrders['vendor']}">

之后排序几乎是自动魔术,但图标也不在 Richfaces 4 中,因此您必须手动添加基于每列 SortOrder 枚举值的那些。

我认为这是一种痛苦,并且从 3.x 倒退了一步,但这正是排序工作所需要的。

您可以随时查看 RichFaces Showcase 站点以获取更多信息

http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=extendedDataTable&sample=edt-sorting&skin=blueSky

编辑:(2013 年 1 月)

随着即将推出的 RichFaces 4.3 自动排序被重新添加,并且将包括箭头和什么不包括在内。上面的链接应该仍然有一个不错的选择。

编辑:(2013 年 9 月)
RF现在是4.3.4版本,自动排序还没回来。它仅适用于 rich:extendedDataTable 而不适用于 rich:dataTable

关于jsf - 无法在 RichFaces 4 中进行 sortBy 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9694874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com