在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配置文件中做些什么吗?