JSF2.0 + Richfaces 3.3.3,未找到jsp错误 [英] JSF2.0 + Richfaces 3.3.3, jsp not found error

查看:133
本文介绍了JSF2.0 + Richfaces 3.3.3,未找到jsp错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Netbeans6.9.1中使用JSF2.0 + Richfaces3.3.3 + tomcat6.0.29创建了一个简单的项目

I created simple project using JSF2.0 + Richfaces3.3.3 + tomcat6.0.29 in Netbeans6.9.1

第一步:文件-> NewProject +选择JSF 2.0 +首选页面语言为 JSP

Step1 : File -> NewProject + Select JSF 2.0 + Prefered Page Language as JSP

第2步:罐子

JSF2.0 jsf-api.jar
JSF2.0 jsf-impl.jar
JSTL1.1 - Standard.jar
JSTL1.1 - jstl.jar
jsf-facelets.jar (Facelets 1. 1. 15)
richfaces-api-3.3.3.Final.jar
richfaces-ui-3.3.3.Final.jar
richfaces-impl-jsf2-3.3. 3.Final.jar
commons-beanutils-1.8.3.jar
commons-collections-3.2. 1.jar
commons-digester-2.0.jar
commons-logging-1.1.1.jar and hth-api-0.4.0.jar

web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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-app_2_5.xsd">

<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Production</param-value>
</context-param>
<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>
<context-param>
    <param-name>javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER</param-name>
    <param-value>true</param-value>
</context-param>

 <context-param>
    <param-name>org.richfaces.SKIN</param-name>
    <param-value>blueSky</param-value>
</context-param>


<!--Configuration for Richfaces-->
<filter>
    <display-name>RichFaces Filter</display-name>
    <filter-name>richfaces</filter-name>
    <filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
    <filter-name>richfaces</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<!--End of the configuration part for Richfaces-->

<!--Configuration for Facelets-->
<context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.jsp</param-value>
</context-param>
<context-param>
    <param-name>facelets.RECREATE_VALUE_EXPRESSION_ON_BUILD_BEFORE_RESTORE</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>facelets.VIEW_MAPPINGS</param-name>
    <param-value>*.xhtml</param-value>
</context-param>
<context-param>
    <param-name>facelets.SKIP_COMMENTS</param-name>
    <param-value>true</param-value>
</context-param>
<!--End of the configuration part for Facelets-->


<welcome-file-list>
    <welcome-file>faces/welcomeJSF.jsp</welcome-file>
</welcome-file-list>
</web-app>

和faces-config.xml文件

and faces-config.xml file

<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.0"
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">

 <managed-bean>
    <description>Managed Bean for HomeContent</description>
    <managed-bean-name>Sample1</managed-bean-name>
    <managed-bean-class>com.test.Sample1</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>

</faces-config>

welcomeJSF.jsp

welcomeJSF.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<f:view>
 <html>
<head>   
    <title>JSP Page</title>
</head>
    <body>
      <h:form id="sampleForm" binding="#{Sample1.initForm}">               

        <a4j:outputPanel id="sampleOutputPanel">

          <h:outputText value="UserName : "/>
          <h:inputText value="#{Sample1.username}"/>

          <a4j:commandButton value="Test" 
                             reRender="sampleOutputPanel,output"
                             action="#{Sample1.displayButtonAction}"/>

         <h:outputText id="output" 
         value="Typed username : #{Sample1.displayValue}"/>
    </a4j:outputPanel>
</rich:panel>
</h:form></body> </html></f:view>

和Sample1.java

and Sample1.java

package com.test;
import javax.faces.component.html.HtmlForm;

public class Sample1 {

    private HtmlForm initForm;
    private String username;
    private String displayValue;

    public String displayButtonAction() {
        displayValue = username;
        return "";
    }


    public HtmlForm getInitForm() {
        username = "";
        return initForm;
    }


    public void setInitForm(HtmlForm initForm) {
        this.initForm = initForm;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getDisplayValue() {
        return displayValue;
    }

    public void setDisplayValue(String displayValue) {
        this.displayValue = displayValue;
    }
}

我的问题是:

将战争部署到tomcat6.0.29中之后,运行我的应用程序. 当我单击a4j:commandbutton时,发生以下错误

After deploy my war into my tomcat6.0.29, run my application. When i click the a4j:commandbutton the following error occur

HTTP Status 404 - /.jsp not found
type Status report
message /.jsp not found
description The requested resource (/.jsp not found) is not available.
Apache Tomcat/6.0.29

帮帮我. 预先感谢

推荐答案

操作的返回值用于查找要显示的新视图.通过在faces-config中找到一个匹配项,或者在其中没有映射,直接将其用作页面名称即可.当您返回一个空字符串时,最终仅以.jsp作为文件名.如果要返回同一页面,请返回null而不是空字符串.

The return value of your action is used to find the new view to display. Either by finding a match for it in faces-config or if there is no mapping there by using it directly as the name of the page. As you return an empty string you end up with only .jsp as the filename. If you want to go back to the same page return null instead of an empty string.

这篇关于JSF2.0 + Richfaces 3.3.3,未找到jsp错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆