Jsf 2 JSF策略适用于SelectOne菜单中的长列表,例如时区
我正在为用户实现一种指定时区的方法。没有什么新鲜事。我想听听人们怎么说,当用户需要从几百个选项的列表中进行选择,但可能不知道列表中的正确值时,这是一种处理案例的好策略。我知道我可以使用像autocomplete这样的工具,但这只有在人们知道他们在寻找什么的情况下才有效。当然,国家应该是显而易见的,但是。。。最低公分母(有些人很笨……像我一样;) 有超过400个不同的iso时区(不包括EST、PST等,我不包括在内)。这是一个很长的清单。如果我们让用户先在另一个SelectOne菜单中选择他们所在的国家,就可以方便地进行划分。但有200多个国家。那么,如何呈现200个易于合作且高效的国家Jsf 2 JSF策略适用于SelectOne菜单中的长列表,例如时区,jsf-2,selectonemenu,Jsf 2,Selectonemenu,我正在为用户实现一种指定时区的方法。没有什么新鲜事。我想听听人们怎么说,当用户需要从几百个选项的列表中进行选择,但可能不知道列表中的正确值时,这是一种处理案例的好策略。我知道我可以使用像autocomplete这样的工具,但这只有在人们知道他们在寻找什么的情况下才有效。当然,国家应该是显而易见的,但是。。。最低公分母(有些人很笨……像我一样;) 有超过400个不同的iso时区(不包括EST、PST等,我不包括在内)。这是一个很长的清单。如果我们让用户先在另一个SelectOne菜单中选择他们所在
我已经在一个jar中创建并打包了许多类来读取Olson时区文件(iso3166.tab和zone.tab),并提供了时区和时区国家的ArrayList,包括将指定的国家排在列表的顶部。但是现在我想学习一种更好的方式来展示国家和时区。我自己做了这件事,因为我发现提取和关联国家代码和时区代码是一种更简单、更干净的方法。对于您的特殊要求,我可以考虑使用一个世界地图,就像您在Linux发行版(如以格林威治为中心的Ubuntu)中看到的那样。然后为您拥有的数据放置标记,并让用户选择最近的标记 有关详细信息,请参见时区选择 为此,您可以使用Primefaces组件并添加如下覆盖:
LatLng coord1 = new LatLng(36.885233, 30.702323);
PlaceResult placeResultObj1 = new new PlaceResult("660")
//Basic marker
simpleModel.addOverlay(new Marker(coord1, "Konyaalti", placeResultObj1));
PlaceResult.java
public class PlaceResult {
private String utc_offset;
public PlaceResult(String utc_offset){
this.utc_offset = utc_offset;
}
public String getUtc_offset() {
return utc_offset;
}
public void setUtc_offset(String utc_offset) {
this.utc_offset = utc_offset;
}
}
另一种方法是使用谷歌地图上的Places库。使用它,您可以通过各种方法获取google.maps.places.PlaceResult
对象,我喜欢自动完成功能,您可以在其中选择城市。选择城市后,可以在信息窗口中显示utc_偏移
你可以看看这个
目前,大多数城市似乎还没有设置utc_偏移量。我发现有utc_偏移量的地址之一是
澳大利亚的纽伊机场运输班车。然后可以将off_集作为输入隐藏参数传递,以将值提交给服务器
另见: