处理错误页面jsf时为什么url不会更改

时间:2013-08-01 04:42:35

标签: jsf-2

我在web.xml中配置错误页面如下:

 <error-page>
        <exception-type>java.lang.Throwable</exception-type>
        <location>/faces/error.xhtml</location>        
    </error-page>

在我的 index.xhtml 中有一个输入字段:

 <h:form>
        <h:inputText value="#{errorBean.text}"  />
        <h:commandButton value="submit" action="index.xhtml"/>
    </h:form>

我的 ManagedBean 检查了用户输入。如果用户不输入任何内容,bean将抛出Exception,如下所示:

@ManagedBean(name = "errorBean")
@SessionScoped
public class ErrorBean {

    private String text;
    private Exception e;

    /**
     * Creates a new instance of ErrorBean
     */
    public ErrorBean() {
    }

    public String getText() {
        return text;
    }

    public void setText(String text) throws Exception{
        if (text.equalsIgnoreCase("")) {

         throw new Exception();
        } else {
            this.text = text;
        }
    }   
}

我的问题是:为什么异常抛出,浏览器中的url是:

 http://localhost:8888/ErrorNavigator/faces/index.xhtml,

我认为是:

http://localhost:8888/ErrorNavigator/faces/error.xhtml

如何在浏览器中配置url:

http://localhost:8888/ErrorNavigator/faces/error.xhtml

请帮帮我!!!!

0 个答案:

没有答案