Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ServletException-未找到属性?什么';这里怎么了?_Java_Jsf - Fatal编程技术网

Java ServletException-未找到属性?什么';这里怎么了?

Java ServletException-未找到属性?什么';这里怎么了?,java,jsf,Java,Jsf,我只是在设置一个简单的testclass。代码完成在eclipse中工作,但我无法启动页面: 支持bean: @Named @RequestScoped public class TestBean { public String getString() { return "click me"; } } jsf: 这里怎么了???在JSF中,您没有使用括号或名称的“get”部分 用这个代替 <h:commandButton value="#{testBea

我只是在设置一个简单的testclass。代码完成在eclipse中工作,但我无法启动页面:

支持bean:

@Named
@RequestScoped
public class TestBean {

    public String getString() {
        return "click me";
    }
}
jsf:


这里怎么了???

在JSF中,您没有使用括号或名称的“get”部分

用这个代替

<h:commandButton value="#{testBean.string}" />


这真的很奇怪。如果我将方法命名为getMyString(),那么我必须使用testBean.getMyString()。JSF在这个问题上具有双重思维。属性是通过属性名而不是访问器方法名访问的。监听器和actionListener一样,是由方法名指定的,这不是JSF特有的。这是特定于EL(和Javabeans)规范的。
    javax.servlet.ServletException: input.xhtml @41,52 value="#{testBean.getString()}":
The class 'TestBean$Proxy$_$$_WeldClientProxy' does not have the property 'getString'.
<h:commandButton value="#{testBean.string}" />