jsf调用了错误的setter
我的问题是: 第一个setter不是第二个setter是call,不是understand?走吧 我的托管bean:jsf调用了错误的setter,jsf,Jsf,我的问题是: 第一个setter不是第二个setter是call,不是understand?走吧 我的托管bean: public class ManagedBean { public Pessoa getPersonByParam(String a){ return hash.get(a); } } 我的页面: <h:inputText value="#{mbean.getPersonByParam(param).name}"> </h:
public class ManagedBean {
public Pessoa getPersonByParam(String a){
return hash.get(a);
}
}
我的页面:
<h:inputText value="#{mbean.getPersonByParam(param).name}">
</h:inputText>
我的堆栈:
Servlet.service() for servlet Faces Servlet threw exception: javax.el.PropertyNotFoundException:/time.xhtml @37,82 value="#
{mbean.getPersonByParam(param).name}": /time.xhtml @35,74 value="#
{mbean.getPersonByParam(param).name}": The class 'br.com.diario.test.ManagedBean' does not have the property 'getPersonByParam'.
有什么想法吗?通过EL表达式,您可以访问数组、HashMap和TreeMap。因此,最好将HashMap声明为属性,这样就可以在XHTML页面中访问它。 范例 JAVA代码
public class ManagedBean {
HashMap<String, Person> hash = new HashMap<String, Person>();
public HashMap<String, Person> getHash(){
return hash;
}
}
公共类ManagedBean{
HashMap hash=新的HashMap();
公共HashMap getHash(){
返回散列;
}
}
XHTML代码
<h:inputText value="#{mbean.hash[param].name}" />
JSF的哪个版本?我的版本是2.0,jboss为7.1
<h:inputText value="#{mbean.hash[param].name}" />