JSF数组nullPointerException

JSF数组nullPointerException,jsf,nullpointerexception,Jsf,Nullpointerexception,我是JSF新手,我正在尝试为培训中心编写一个简单的代码 在这个JSF代码中,当我加载页面时,subjects数组工作正常,但当我提交页面时,它会给我一个空指针异常,我不知道为什么会发生这种情况 **The Java Bean Code :** =============================================== College.java: =============================================== package Training_C

我是JSF新手,我正在尝试为培训中心编写一个简单的代码

在这个JSF代码中,当我加载页面时,subjects数组工作正常,但当我提交页面时,它会给我一个空指针异常,我不知道为什么会发生这种情况

**The Java Bean Code :**
===============================================
College.java:
===============================================
package Training_Center;

import javax.faces.bean.ManagedBean;

@ManagedBean(name = "College")

public class College {

    private int college;   // College Number HardCoded from College.xhtml page(Drop Down List)
    private String special[] = new String[4]; //specialization array (Radio Button)
    private String specialTicked;  //Variable to store the element value from special[] array

    private String subjects[] = new String[4];//Subjects[] array ( Check Boxes )

    public College() {

    }

    public int getCollege() {
        return college;
    }

    public void setCollege(int college) {
        this.college = college;
    }

    public String[] getSpecial() {

        if (getCollege() == 0) {  //  AOU Unoversity
            special[0] = "AAAA";
            special[1] = "IT";
            special[2] = "BBBB";
            special[3] = "CCCC";

        }
        return special;
    }

    public String getSpecialTicked() {
        return specialTicked;
    }

    public void setSpecialTicked(String specialTicked) {
        this.specialTicked = specialTicked;

    }

    public String[] getSubjects() {
        if ("IT".equals(specialTicked)) { 
            subjects[0] = "M105 Introduction To Java";
            subjects[1] = "M257 Java OOP";
            subjects[2] = "M275 PHP";
            subjects[3] = "M180 Data Structure";
        }

        return subjects;
    }


    public void setSubjects(String[] subjects) {
        this.subjects = subjects;
    }

}
=======================================================
College.xhtml page:
========================================================
        <h:form >
            <h:selectOneMenu value="#{College.college}" > 
                <f:selectItem itemValue="-1" itemLabel="...Select..." />
                <f:selectItem itemValue="0" itemLabel="AOU University" />
            </h:selectOneMenu> 
            <h:commandButton value="Show Subjects" action="ShowSubjects" />

        </h:form>
=====================================================
ShowSubjects.xhtml page :
=====================================================
        <h:form>
            <h:selectOneRadio  value="#{College.specialTicked}" layout="pageDirection" >
                <f:selectItems value="#{College.special}" ></f:selectItems>            
            </h:selectOneRadio>  

            <h:commandButton value="Submit" action="subjects" />
        </h:form>
========================================================
subjects..xhtml page : ( this page gives the exception when i click submit button)
======================================================

    <h:form>
        <h:selectManyCheckbox  value="#{College.subjects}" layout="pageDirection" >
            <f:selectItems value="#{College.subjects}" ></f:selectItems>            
        </h:selectManyCheckbox> 
        <h:commandButton value="Submit"/>
    </h:form>


Thanks
**Java Bean代码:**
===============================================
College.java:
===============================================
成套培训中心;
导入javax.faces.bean.ManagedBean;
@ManagedBean(name=“College”)
公立学院{
private int college;//从college.xhtml页面硬编码的学院编号(下拉列表)
专用字符串专用[]=新字符串[4];//专用数组(单选按钮)
私有字符串specialTicked;//用于存储特殊[]数组中元素值的变量
私有字符串subjects[]=新字符串[4];//subjects[]数组(复选框)
公立学院(){
}
公共学院(){
返回学院;
}
公共学院(国际学院){
这个学院=学院;
}
公共字符串[]getSpecial(){
如果(getCollege()==0){//AOU大学
特别[0]=“AAAA”;
特殊[1]=“IT”;
特别[2]=“BBBB”;
特别[3]=“中交”;
}
退货特价;
}
公共字符串getSpecialTicked(){
返回特殊包装;
}
公共无效集合特殊勾选(字符串特殊勾选){
this.specialTicked=specialTicked;
}
公共字符串[]getSubjects(){
如果(“IT”.equals(specialTicked)){
主题[0]=“M105 Java简介”;
主题[1]=“M257 Java OOP”;
主题[2]=“M275 PHP”;
主题[3]=“M180数据结构”;
}
返回主题;
}
public void setSubjects(字符串[]主题){
这个。主题=主题;
}
}
=======================================================
College.xhtml页面:
========================================================
=====================================================
ShowSubjects.xhtml页面:
=====================================================
========================================================
主题..xhtml页面:(当我单击submit按钮时,该页面会出现异常)
======================================================
谢谢

托管bean作用域的可能重复项与您的使用方式不符。有关JSF作用域的信息,请参阅。另外,请仔细查看您的
及其相关的
。谢谢axemoi,我解决了它,而问题正是范围问题。再次感谢