读书人

一个及之间单的页面JSF不跳转请大家

发布时间: 2011-12-11 23:19:43 作者: rapoo

一个及其间单的页面JSF不跳转,请大家看看

//web.xml

<?xml version= "1.0 " encoding= "UTF-8 "?>
<web-app version= "2.4 " xmlns= "http://java.sun.com/xml/ns/j2ee "

xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance "

xsi:schemaLocation= "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-

app_2_4.xsd ">
<servlet>
<servlet-name> Faces Servlet </servlet-name>
<servlet-class> javax.faces.webapp.FacesServlet </servlet-class>
<load-on-startup> 1 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name> Faces Servlet </servlet-name>
<url-pattern> /faces/* </url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
</welcome-file-list>
</web-app>


//faces-config.xml

<?xml version= '1.0 ' encoding= 'UTF-8 '?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN "
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd ">

<faces-config>
<navigation-rule>
<from-view-id> /index.jsp </from-view-id>
<navigation-case>
<from-outcome> login </from-outcome>
<to-view-id> /welcome.jsp </to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name> InfoBean </managed-bean-name>
<managed-bean-class> mybean.InfoBean </managed-bean-class>
<managed-bean-scope> session </managed-bean-scope>
</managed-bean>
</faces-config>


//index.jsp

<%@taglib uri= "http://java.sun.com/jsf/core " prefix= "f " %>
<%@taglib uri= "http://java.sun.com/jsf/html " prefix= "h " %>
<%@page 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> JSF Page </title>
</head>
<body>
<f:view>
<h:form>
Text
<h:commandButton value= "ok " action= "login "/>
</h:form>
</f:view>
</body>
</html>


//welcome.jsp

<%@page 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> Welcome Page </title>
</head>
<body>
welcome page
</body>
</html>


从浏览器访问 http://localhost:8080/project/faces/
访问到了地index.jsp页面,点击了页面的OK按钮页面有了刷新动作,按faces-config.xml文件的配置,

本该“跳转”到welcome.jsp页面,可却没跳转。
工程里本来应有Bean的(其实也有),可我连Bean这步都没用了,但还是有问题,请大家看看,以后也

给有同样问题的朋友一个参考。
谢谢。

[解决办法]
<h:commandButton value= "ok " action= "login "/>
写得有问题,必须有managed bean,参考
<h:commandButton value= "ok " action= "#{InfoBean.login} "/>

读书人网 >Java Web开发

热点推荐