由jsf调用的错误的二传手

时间:2014-11-11 02:51:12

标签: jsf

我的问题是:

第一个二传手不是第二个二传手是打电话,不是不定?让我们走吧

我的托管bean:

public class ManagedBean {

    public Pessoa getPersonByParam(String a){
        return hash.get(a);
    }

}

我的页面:

<h:inputText value="#{mbean.getPersonByParam(param).name}">
</h:inputText>

我的模特:

public class Person {

    private Long id; 
    private String name;

    // getter / setter

}

我的筹码:

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'.

任何想法?

1 个答案:

答案 0 :(得分:1)

从EL表达式中,您可以访问Array,HashMap和TreeMap。因此,如果将HashMap声明为属性会更好,这样您就可以在XHTML页面中访问它。 示例

JAVA CODE

public class ManagedBean {

    HashMap<String, Person> hash = new HashMap<String, Person>();

    public HashMap<String, Person> getHash(){
        return hash;
    }
}

XHTML代码

<h:inputText value="#{mbean.hash[param].name}" />