IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

JSF: localiser resource bundle


Sujet :

JSF Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de Roy Miro
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 273
    Par défaut JSF: localiser resource bundle
    Bonjour,

    J'ai créé un petit projet, avec Netbeans, en JSF et Spring dont l'arborescence se trouve en PJ:

    Ma page index.jsp (dans WEB-INF/jsp) est censée aller chercher ses libellés dans le fichier messages.properties (dans le package java resource):

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <%@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" %>
    <f:loadBundle basename="resource.messages" var="msg"/>
    
    
    <!--<!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 to Spring Web MVC project</title>
        </head>
        
        <body>
            <p>Hello! This is the default welcome page for a Spring Web MVC project.</p>
            <p><i>To display a different welcome page for this project, modify</i>
              <tt>index.jsp</tt> <i>, or create your own welcome page then change
              the redirection in</i> <tt>redirect.jsp</tt> <i>to point to the new
              welcome page and also update the welcome-file setting in</i>
              <tt>web.xml</tt>.</p>
         <f:view>
         <h1>
          <h:outputText value="#{msg.inputname_header}"/>
         </h1>
         <h:form id="helloForm">
          <h:outputText value="#{msg.prompt}"/>
          <h:inputText value="#{personBean.personName}" />
          <h:commandButton action="greeting" value="#{msg.button_text}" />
         </h:form>
       </f:view>
    
    
        </body>
    </html>
    Je déclare ce "resource bundle" dans mon faces-config.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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?xml version='1.0' encoding='UTF-8'?>
    
    <faces-config version="1.2"
                  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_1_2.xsd">
        <application>
            <locale-config>
                <default-locale>en</default-locale>
                <supported-locale>en</supported-locale>
            </locale-config>
            <message-bundle>
                resource.messages
            </message-bundle>
        </application>
        <navigation-rule>
            <from-view-id>/jsp/index.jsp</from-view-id>
            <navigation-case>
                <from-outcome>greeting</from-outcome>
                <to-view-id>/jsp/greeting.jsp</to-view-id>
            </navigation-case>
        </navigation-rule>
        <managed-bean>
            <managed-bean-name>personBean</managed-bean-name>
            <managed-bean-class>bean.PersonBean</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
        </managed-bean>
    </faces-config>
    Or, lorsque j'arrive sur index.jsp, j'ai l'erreur suivante:

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/index.jsp at line 4
     
    1: <%@page contentType="text/html" pageEncoding="UTF-8"%>
    2: <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    3: <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    4: <f:loadBundle basename="resource.messages" var="msg"/>
    5: 
    6: 
    7: <!--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     
     
    Stacktrace:
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:167)
    	org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:239)
    	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1158)
    	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900)
    	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:808)
    	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
    	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
     
    cause mère
     
    java.lang.NullPointerException
    	com.sun.faces.taglib.jsf_core.LoadBundleTag.doStartTag(LoadBundleTag.java:130)
    	org.apache.jsp.WEB_002dINF.jsp.index_jsp._jspx_meth_f_005floadBundle_005f0(index_jsp.java:128)
    	org.apache.jsp.WEB_002dINF.jsp.index_jsp._jspService(index_jsp.java:75)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:167)
    	org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:239)
    	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1158)
    	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900)
    	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:808)
    	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
    	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    Comme s'il ne parvenait pas à localiser mon fichier properties...

    Pour info, voici son contenu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # To change this template, choose Tools | Templates
    # and open the template in the editor.
    inputname_header=JSF KickStart
    prompt=Tell us your name:
    greeting_text=Welcome to JSF
    button_text=Say Hello
    sign=!
    D'après mes recherches, c'est un problème récurrent. Mais en vérifiant les points indiqués, je ne vois pas là où ça pèche.

    Merci de votre aide!

    EDIT: je travaille avec Tomcat 6 et j'ai le même souci lorsque je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:loadBundle basename="resource.messages" var="msg"/>
    dans le bloc <f:view> dans la jsp.
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Définir plusieurs resources bundle sur un report
    Par ladine35 dans le forum iReport
    Réponses: 2
    Dernier message: 01/12/2013, 19h57
  2. [Netbeans platform] Utiliser un resource bundle personalisé.
    Par Whisperer dans le forum NetBeans Platform
    Réponses: 0
    Dernier message: 20/09/2009, 02h06
  3. resource-bundle et JNDI
    Par piopium dans le forum JSF
    Réponses: 0
    Dernier message: 28/08/2009, 10h47
  4. Réponses: 8
    Dernier message: 15/10/2006, 20h02
  5. Réponses: 4
    Dernier message: 14/04/2005, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo