订单列表在 PrimeFaces 3.5 中不起作用
orderlist is not working in PrimeFaces 3.5
我正在使用 PrimeFaces 3.5。我想在我的页面上使用 orderList。以下是我的bean class.
package test;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import org.primefaces.event.SelectEvent;
import org.primefaces.event.UnselectEvent;
@ManagedBean
public class OrderListView {
@ManagedProperty("#{themeService}")
private List<String> cities;
@PostConstruct
public void init() {
//Cities
cities = new ArrayList<String>();
cities.add("San Francisco");
cities.add("London");
cities.add("Paris");
cities.add("Istanbul");
cities.add("Berlin");
cities.add("Barcelona");
cities.add("Rome");
//Themes
}
public List<String> getCities() {
return cities;
}
public void setCities(List<String> cities) {
this.cities = cities;
}
public void onSelect(SelectEvent event) {}
public void onUnselect(UnselectEvent event) {}
public void onReorder() {}
}
这是我的页面内容。
<?xml version='1.0' encoding='UTF-8' ?>
<!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:p="http://primefaces.org/ui"
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:c = "http://java.sun.com/jsp/jstl/core">
<h:body>
<h:form >
<p:panel>
<p:orderList value="#{orderListView.cities}" var="city" controlsLocation="none" itemLabel="#{city}" itemValue="#{city}" />
</p:panel>
</h:form>
</h:body>
</html>
我收到了例外情况。
java.lang.NullPointerException
at org.primefaces.component.orderlist.OrderListRenderer.encodeOptions(OrderListRenderer.java:150)
at org.primefaces.component.orderlist.OrderListRenderer.encodeList(OrderListRenderer.java:109)
at org.primefaces.component.orderlist.OrderListRenderer.encodeMarkup(OrderListRenderer.java:80)
at org.primefaces.component.orderlist.OrderListRenderer.encodeEnd(OrderListRenderer.java:50)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:519)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:63)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:47)
at
我已经尝试了 PrimeFaces 展示中的这个示例,但仍然无法正常工作。
谁能告诉我哪里出了问题?
抛出的空指针异常表示城市列表或bean为空。尝试调试代码以查看 init() 方法是否实际触发。
我不知道您使用的是什么服务器,但重新启动可能有助于注册新创建的托管 bean。
编辑 1:
您能否尝试从列表上方删除@ManagedProperty("#{themeService}") 并重试?
我正在使用 PrimeFaces 3.5。我想在我的页面上使用 orderList。以下是我的bean class.
package test;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import org.primefaces.event.SelectEvent;
import org.primefaces.event.UnselectEvent;
@ManagedBean
public class OrderListView {
@ManagedProperty("#{themeService}")
private List<String> cities;
@PostConstruct
public void init() {
//Cities
cities = new ArrayList<String>();
cities.add("San Francisco");
cities.add("London");
cities.add("Paris");
cities.add("Istanbul");
cities.add("Berlin");
cities.add("Barcelona");
cities.add("Rome");
//Themes
}
public List<String> getCities() {
return cities;
}
public void setCities(List<String> cities) {
this.cities = cities;
}
public void onSelect(SelectEvent event) {}
public void onUnselect(UnselectEvent event) {}
public void onReorder() {}
}
这是我的页面内容。
<?xml version='1.0' encoding='UTF-8' ?>
<!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:p="http://primefaces.org/ui"
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:c = "http://java.sun.com/jsp/jstl/core">
<h:body>
<h:form >
<p:panel>
<p:orderList value="#{orderListView.cities}" var="city" controlsLocation="none" itemLabel="#{city}" itemValue="#{city}" />
</p:panel>
</h:form>
</h:body>
</html>
我收到了例外情况。
java.lang.NullPointerException
at org.primefaces.component.orderlist.OrderListRenderer.encodeOptions(OrderListRenderer.java:150)
at org.primefaces.component.orderlist.OrderListRenderer.encodeList(OrderListRenderer.java:109)
at org.primefaces.component.orderlist.OrderListRenderer.encodeMarkup(OrderListRenderer.java:80)
at org.primefaces.component.orderlist.OrderListRenderer.encodeEnd(OrderListRenderer.java:50)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:519)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:63)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:47)
at
我已经尝试了 PrimeFaces 展示中的这个示例,但仍然无法正常工作。 谁能告诉我哪里出了问题?
抛出的空指针异常表示城市列表或bean为空。尝试调试代码以查看 init() 方法是否实际触发。
我不知道您使用的是什么服务器,但重新启动可能有助于注册新创建的托管 bean。
编辑 1:
您能否尝试从列表上方删除@ManagedProperty("#{themeService}") 并重试?