JSF导航案例在IE中无效

时间:2012-01-27 07:13:41

标签: tomcat jsf-2 navigation richfaces

在我的示例应用程序中使用JSF2.0 + richfaces3.3.3 + tomcat6.0.29。

我没有重定向的导航案例在IE中无效。 但其他浏览器也有效。

当我添加重定向标记,然后在所有浏览器中使用页面导航。

JSF1.2,我不使用重定向,页面导航在所有浏览器中都能正常工作。

为什么JSF2.0需要重定向代码?

我的jsp文件位置 webpages / design / first.jsp webpages / design / second.jsp

faces-config.xml中

....
....
 <managed-bean>        
    <managed-bean-name>First</managed-bean-name>
    <managed-bean-class>sample.First</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>

<navigation-rule>        
    <from-view-id>/design/first.jsp</from-view-id>
    <navigation-case>
        <from-outcome>go_secondpage</from-outcome>
        <to-view-id>/design/second.jsp</to-view-id>

    </navigation-case>
</navigation-rule>


....

网页/设计/ first.jsp

<f:view>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>First Page</title>
    </head>
    <body>

        <h:form id="sampleForm">

            <h:panelGrid cellpadding="10" cellspacing="10">

                <h:outputText value="You are in first page"/>
                <a4j:commandButton value="GO-SecondPage" action="#{First.goSecondPage}"/>

            </h:panelGrid>

        </h:form>

    </body>
</html>

First.java

package sample;
public class First
{
    public String goSecondPage()
    {
        String message = "go_secondpage";
        return message;
    }
}

网页/设计/ second.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Seocnd Page</title>
</head>
<body>
    <h1>Welcome second page</h1>
</body>
</html>

帮帮我。 提前谢谢......

1 个答案:

答案 0 :(得分:0)

您使用的是richfaces版本,对JSF2检查link的支持有限。删除richfaces标签,使用纯JSF命令按钮标签并检查,如果使用richfaces与JSF2使用版本4.x.它不是JSF问题。另请参阅根据JSF版本使用正确的faces-config.xml。