【问题标题】:jsf commandButton navigation javax.el.MethodNotFoundExceptionjsf 命令按钮导航 javax.el.MethodNotFoundException
【发布时间】:2011-04-02 21:24:09
【问题描述】:

嗨 我正在尝试测试 jsf 的导航规则。

我的人豆:

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class Person {
    private int id;
    private String name;
    private int age;

    public Person(){
        id = 1;
        name = "No name!";
        age = 0;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String validate(){
        if(this.name.equals("Evgeny")){
            return "success";
        }else{
            return "failure";
        }
    }
}

我的面孔-config.xml:

<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">

    <navigation-rule>
        <from-view-id>/view.xhtml</from-view-id>
        <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>/destination.xhtml</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>failure</from-outcome>
            <to-view-id>/view.xhtml</to-view-id>
        </navigation-case>
    </navigation-rule>

</faces-config>

这就是我的表格:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">

<h:body>
    <h:form>
        <h:outputText>Some Text!</h:outputText>
        Name:   <h:inputText value="#{person.name}" id="inName"></h:inputText>
            <br></br>
        Age:    <h:inputText value="#{person.age}" id="inAge"></h:inputText> 
            <br></br>
        <h:commandButton value="OK" action="#{person.validate}"></h:commandButton>
    </h:form>
</h:body>
</html>

当我尝试调用 person.validate 时,我得到 javax.el.MethodNotFoundException 为什么会这样? 我正在使用 MyFaces2.0.4 和 Tomcat 7

【问题讨论】:

    标签: jsf el


    【解决方案1】:

    保存所有文件,重新构建项目,重新部署 webapp 并重新启动服务器。

    换句话说,一切看起来都很好。你只是没有运行你认为你正在运行的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-09
      • 2017-10-04
      • 2014-08-29
      • 1970-01-01
      • 1970-01-01
      • 2014-04-24
      • 2011-07-05
      • 2012-04-15
      相关资源
      最近更新 更多