Bonjour à tous,
J'utilise Netbeans 6.1 + Glassfish v2 + JSF
Ma question: A part face-config et sun-web.xml créé comme décrit ci-dessous, y a t-il un paramétrage à faire avant d'utiliser un ManagedBean?
Merci du temps consacré à me répondre.
==============
J'ai fait une page evaluations.jsp ou j'utilise un bean managé evaluationController
pour afficher les lignes d'une table de BD dans un tableau.
ce bean est déclaré dans face-config.xml comme suit:
===================
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <managed-bean> <managed-bean-name>evaluationController</managed-bean-name> <managed-bean-class>com.petrone.controller.EvaluationController</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean>
Mon fichier sun-web.xml
====================
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd"> <sun-web-app error-url=""> <context-root>/TEST-war</context-root> <ejb-ref> <ejb-ref-name>java:comp/env/com.petrone.controller.EvaluationController/evaluationLocal</ejb-ref-name> <jndi-name>EvaluationBeanBis</jndi-name> </ejb-ref> <class-loader delegate="true"/> <jsp-config> <property name="keepgenerated" value="true"> <description>Keep a copy of the generated servlet class' java code.</description> </property> </jsp-config> </sun-web-app>
Ma classe Evaluation Controller
===================J'ai le message suivant quand j'essaie d'excuter ma page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 package com.petrone.controller; public class EvaluationController extends Controller{ @EJB private EvaluationLocal evaluationLocal; private List<Evaluation> evaluations;
=========================j'ai utilisé la commande verify sur le projet Web
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 This web app [C:\TEST\TEST-war\build\web] has no ejb reference by the name of [java:comp/env/com.petrone.controller.EvaluationController/evaluationLocal] Cannot resolve reference Unresolved Ejb-Ref com.petrone.controller.EvaluationController/evaluationLocal@jndi: @null@com.petrone.business.evaluation.EvaluationLocal@Session@null Exception occured in J2EEC Phasejava.lang.RuntimeException: Cannot resolve reference Unresolved Ejb-Ref com.petrone.controller.EvaluationController/evaluationLocal@jndi: @null@com.petrone.business.evaluation.EvaluationLocal@Session@null com.sun.enterprise.deployment.backend.IASDeploymentException: Error loading deployment descriptors for module [TEST-war] -- Cannot resolve reference Unresolved Ejb-Ref com.petrone.controller.EvaluationController/evaluationLocal@jndi: @null@com.petrone.business.evaluation.EvaluationLocal@Session@null at com.sun.enterprise.deployment.backend.Deployer.loadDescriptors(Deployer.java:390) at com.sun.enterprise.deployment.backend.ModuleDeployer.loadDescriptors(ModuleDeployer.java:423) at com.sun.enterprise.deployment.backend.WebModuleDeployer.deploy(WebModuleDeployer.java:157) at com.sun.enterprise.deployment.backend.ModuleDeployer.doRequestFinish(ModuleDeployer.java:179) at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:191) at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108) at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:919) at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:279) at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:788) at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:187) at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:223) Caused by: java.lang.RuntimeException: Cannot resolve reference Unresolved Ejb-Ref com.petrone.controller.EvaluationController/evaluationLocal@jndi: @null@com.petrone.business.evaluation.EvaluationLocal@Session@null at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:430) at com.sun.enterprise.deployment.WebBundleDescriptor.visit(WebBundleDescriptor.java:1406) at com.sun.enterprise.deployment.archivist.WebArchivist.validate(WebArchivist.java:188) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openArchive(ApplicationArchivist.java:790) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openArchive(ApplicationArchivist.java:744) at com.sun.enterprise.deployment.backend.Deployer.loadDescriptors(Deployer.java:349) ... 10 more This web app [C:\TEST\TEST-war\build\web] has no ejb reference by the name of [java:comp/env/com.petrone.controller.EvaluationController/evaluationLocal]
=============
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Could not verify successfully. java.lang.RuntimeException: Cannot resolve reference Unresolved Ejb-Ref com.petrone.controller.EvaluationController/evaluationLocal@jndi: @null@com.petrone.business.evaluation.EvaluationLocal@Session@null at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:430) at com.sun.enterprise.deployment.WebBundleDescriptor.visit(WebBundleDescriptor.java:1406) at com.sun.enterprise.deployment.archivist.WebArchivist.validate(WebArchivist.java:188) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openArchive(ApplicationArchivist.java:790) at com.sun.enterprise.tools.verifier.VerificationHandler.createApplicationDescriptor0(VerificationHandler.java:464) at com.sun.enterprise.tools.verifier.VerificationHandler.createApplicationDescriptor(VerificationHandler.java:265) at com.sun.enterprise.tools.verifier.VerificationHandler.initStandalone(VerificationHandler.java:216) at com.sun.enterprise.tools.verifier.VerificationHandler.<init>(VerificationHandler.java:109) at com.sun.enterprise.tools.verifier.Verifier.verify(Verifier.java:140) at com.sun.enterprise.tools.verifier.Verifier.main(Verifier.java:114)
Lorsque j'enleve l'instruction
de ma classe EvaluationController (le managed bean),
Code : Sélectionner tout - Visualiser dans une fenêtre à part @EJB private EvaluationLocal evaluationLocal;
je n'ai plus de bug.
Partager