Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Primefaces JSF java.lang.NullPointerException:参数错误:参数文本为null_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Primefaces JSF java.lang.NullPointerException:参数错误:参数文本为null

Primefaces JSF java.lang.NullPointerException:参数错误:参数文本为null,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我将JSF2.0与Primefaces 3.4.2一起使用,当我运行我的应用程序时,我得到以下异常 java.lang.NullPointerException: Argument Error: Parameter text is null at com.sun.faces.renderkit.html_basic.HtmlResponseWriter.writeText(HtmlResponseWriter.java:877) at org.primefaces.compone

我将JSF2.0与Primefaces 3.4.2一起使用,当我运行我的应用程序时,我得到以下异常

java.lang.NullPointerException: Argument Error: Parameter text is null
    at com.sun.faces.renderkit.html_basic.HtmlResponseWriter.writeText(HtmlResponseWriter.java:877)
    at org.primefaces.component.datatable.DataTableRenderer.encodeFilter(DataTableRenderer.java:450)
    at org.primefaces.component.datatable.DataTableRenderer.encodeColumnHeader(DataTableRenderer.java:360)
    at org.primefaces.component.datatable.DataTableRenderer.encodeThead(DataTableRenderer.java:551)
    at org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:218)
    at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:192)
    at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:74)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
JSF代码片段

 <p:column id="empName" headerText="Name"  filterBy="#{emp.empName}"  
                            filterOptions="#{myMB.empFilter}"  
                            filterMatchMode="exact">
                            <h:outputText value="#{emp.empName}"/> 
                        </p:column>
在我的ManagedBean中

public Map<String,String> loadNames() {    
        names = new LinkedHashMap<String,String>();
        names.put("Smith", "S");
        names.put("Jones", "J");        
        return names;    
    }

private SelectItem[] empFilter;

public void init() {
empFilter= new SelectItem[loadNames().size() + 1];
        empFilter[0] = new SelectItem("", "Select");
        for (int i=1; i< empFilter.length; i++) {
            empFilter[i] = new SelectItem(loadNames().get(i-1), loadNames().get(i-1));
    }

}

您没有将LoadName中的值正确地输入到底部循环中

例如:

Map<String,String> map = new LinkedHashMap<String,String>();
map.put("Smith", "S");
map.put("Jones", "J");

System.out.println(map.get(0));

您没有将LoadName中的值正确地输入到底部循环中

例如:

Map<String,String> map = new LinkedHashMap<String,String>();
map.put("Smith", "S");
map.put("Jones", "J");

System.out.println(map.get(0));

您的表从bean接收的值是什么?@AlexandreLavoie您是指JSF数据表还是数据库表?我有来自LinkedHashMap的静态值。在这个{emp.empName}中,emp应该是p:dataTable变量,但我在bean中没有看到任何对象具有empName getter/setter。@AlexandreLavoie emp确实是p:dataTable var@AlexandreLavoie,我注意到当我从Map更改为use List empList时;然后没有错误,我可以在JSF页面中看到下拉列表中的值。您的表从bean中接收的值是什么?@AlexandreLavoie您是指JSF数据表还是数据库表?我有来自LinkedHashMap的静态值。在这个{emp.empName}中,emp应该是p:dataTable变量,但我在bean中没有看到任何对象具有empName getter/setter。@AlexandreLavoie emp确实是p:dataTable var@AlexandreLavoie,我注意到当我从Map更改为use List empList时;然后就没有错误了,我可以在JSF页面中看到下拉列表中的值。非常感谢你正确地指出它。谢谢,Alexandre Lavoie成功了。非常感谢你正确地指出它。谢谢。