从JSF Managed Bean中的另一个类调用方法

时间:2015-10-27 18:20:14

标签: spring jsf

在Java Web Project(JSF + Spring)中,我想这样做:

我在index.xhtml中有一个搜索框,我希望当我点击搜索按钮时,从类中调用一个方法,然后结果返回:

这是index.xhtml

<h:body>
    <h:form>
        <h:inputText value="#{searchBean.phrase}"></h:inputText>
        <h:commandButton value="Search" action="result"></h:commandButton>
    </h:form>
</h:body>

这是result.xhtml

<h:body>
    #{searchBean.result}
</h:body>

这是searchBean.java

@ManagedBean
@SessionScoped
public class SearchBean {

    private String phrase;
    private String result;

    private SearchClass searchObject;


    public String getPhrase(){
        return this.phrase;
    }

    public void setPhrase(String value){
        this.phrase = value;
    }


    public String getResult(){
        this.result = searchObject.search(getPhrase()); // here throws to an error
        return this.result;
    }

    public void setResult(String value){

    }
}

这是searchClass

public class SearchClass{

    public String search(String searchPhrase)
    {
        return "this is a sample result";
    }
}

但是当我运行它时,这部分会引发错误:

public String getResult(){
        this.result = searchObject.search(getPhrase()); // here throws to an error
        return this.result;
    }

似乎不允许从另一个类调用方法。我得到error 500

java.lang.NullPointerException
    com.media.search.web.controller.SearchBean.getResult(SearchBean.java:35)

我只想从方法中获取一些信息,这里有什么问题?我应该在与JSF或Spring相关的xml配置文件中做些什么吗?

0 个答案:

没有答案