2013-09-03 1 views
1

Я новичок в JSF и создание пример приложения с использованием jsf2, tomcat6.0 Использование Eclipse kepler.I 'получаю ниже исключения, когда я нажимаю на кнопку ubmit:Ошибка при отправке на странице - JSF2 + TOMCAT 6

SEVERE: Error Rendering View[/index.xhtml] com.sun.faces.mgbean.ManagedBeanCreationException: Unable to create managed bean helloWorldBean. 
The following problems were found:  - Bean or property class com.vigilance.jsf for managed bean helloWorldBean cannot be found.  at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:265) at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244) at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116) at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:69) at org.apache.el.parser.AstValue.getValue(AstValue.java:112) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)  at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) at javax.faces.component.UIOutput.getValue(UIOutput.java:169) at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)  at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312) . 

Мой web.xml ниже:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    id="WebApp_ID" version="2.5"> 
    <display-name>JavaServerFaces</display-name> 
    <context-param> 
     <param-name>javax.faces.PROJECT_STAGE</param-name> 
     <param-value>Development</param-value> 
    </context-param>  <!-- Welcome page list --> 
    <welcome-file-list> 
     <welcome-file>index.xhtml</welcome-file> 
    </welcome-file-list>  <!-- JavaServer Faces Servlet --> 
    <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 to URL pattern --> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>*.xhtml</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>*.jsf</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>*.faces</url-pattern> 
    </servlet-mapping> 
</web-app> 

Managedbean - HelloWorldBean.java:

package com.vigilance.jsf; 

import java.io.Serializable; 

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

@ManagedBean(name="helloWorldBean") 
@SessionScoped 
public class HelloWorldBean implements Serializable { 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 

    private String firstName; 

    private String lastName; 

    public String getFirstName() { 
     return firstName; 
    } 

    public void setFirstName(String firstName) { 
     this.firstName = firstName; 
    } 

    public String getLastName() { 
     return lastName; 
    } 

    public void setLastName(String lastName) { 
     this.lastName = lastName; 
    } 

} 

XHTML файлы - index.xhtmls

<!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"> 

    <f:loadBundle basename="resources.application" var="msg" /> 

    <head> 
     <title> 
      <h:outputText value="#{msg.welcomeTitle}" /> 
     </title> 
    </head> 

    <body> 
     <h3> 
      <h:outputText value="#{msg.welcomeHeading}" /> 
     </h3> 
     <p> 
      <h:outputText value="#{msg.welcomeMessage}" /> 
     </p> 
     <h:form> 
      <h:panelGrid columns="2"> 
       <h:outputLabel for="firstName"> 
        First Name * 
       </h:outputLabel> 
       <h:inputText id="firstName" 
        value="#{helloWorldBean.firstName}"> 
       </h:inputText> 

       <h:outputLabel for="lastName"> 
        Last Name * 
       </h:outputLabel> 
       <h:inputText id="lastName" 
        value="#{helloWorldBean.lastName}"> 
       </h:inputText> 

       <h:commandButton value="Submit" action="hello"></h:commandButton> 

      </h:panelGrid> 
     </h:form> 
    </body> 
</html> 

hello.xhtml

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!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:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html"> 
    <f:loadBundle basename="resources.application" var="msg" /> 

    <head> 
     <title> 
      <h:outputText value="#{msg.welcomeTitle}" /> 
     </title> 
    </head> 
    <h:body> 
     <h3> 
      <h:outputText value="#{msg.helloHeading}" /> 
      &nbsp;#{helloWorldBean.firstName}&nbsp;#{helloWorldBean.lastName} 
     </h3> 
     <p> 
      <h:outputText value="#{msg.helloMessage}" /> 
     </p> 
    </h:body> 
</html> 
+0

ли Вы устали это http://kodehelp.com/javaserver-faces-jsf-2-0-hello-world-example/ – Programmer

+0

Да .. Я пробовал только этот код. – Priyanka

ответ

0

Следующие проблемы были найдены: - Бобовые или свойство класса com.vigilance.jsf для управляемого компонента helloWorldBean не может быть найденным.

Это сообщение об ошибке означает, что у Вас есть /WEB-INF/faces-config.xml следующую запись:

<managed-bean> 
    <managed-bean-class>com.vigilance.jsf</managed-bean-class> 
    <managed-bean-name>helloWorldBean</managed-bean-name> 
    <managed-bean-scope>[some scope]</managed-bean-scope> 
</managed-bean> 

Это неправильно 2-мя способами:

  1. <managed-bean-class> должен представлять полное класс имя, а не имя пакета.

  2. Вся статья <managed-bean> не нужна, если вы уже используете @ManagedBean. Избавьтесь от всей записи.

+0

Спасибо! Не могу сказать, что пошло не так, как я попытался удалить запись из faces-config.xml, но все еще получил некоторые ошибки для bean-компонента, не имеющего конструктора по умолчанию. Очистил проект и обновился до tomcat 7, и он сработал. – Priyanka

+0

@BalusC, когда мы используем JSF2, нам нужно использовать файл «faces.config.xml»? – Programmer

+0

@ Программист: http://stackoverflow.com/q/7583038/ – BalusC

Смежные вопросы