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

Struts 2 Java Discussion :

Erreur FreeMarker : parameters.templateDir is undefined


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut Erreur FreeMarker : parameters.templateDir is undefined
    Bonjour,

    J'ai une erreur dès la page de "login" dans mon application.

    Sur mon pc Windows avec XAMPP, l'application fonctionne. Je déploie le même WAR sur un serveur Ubuntu et j'ai une erreur FreeMarker : parameters.templateDir is undefined.

    J'ai fait des recherches et je n'ai rien trouvé à part des gens qui ont "updaté" Struts. Voici quelques infos :

    Tomcat 6
    Java(TM) SE Runtime Environment (build 1.6.0_15-b03)

    struts2-core-2.1.8.1.jar
    freemarker-2.3.15.jar


    L'erreur :
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    FreeMarker template error!
     
     
     
    Expression parameters.templateDir is undefined on line 23, column 15 in template/xhtml/form.ftl.
    The problematic instruction:
    ----------
    ==> ${parameters.templateDir} [on line 23, column 13 in template/xhtml/form.ftl]
     in include "/${parameters.templateDir}/xhtml/form-validate.ftl" [on line 23, column 1 in template/xhtml/form.ftl]
    ----------
     
    Java backtrace for programmers:
    ----------
    freemarker.core.InvalidReferenceException: Expression parameters.templateDir is undefined on line 23, column 15 in template/xhtml/form.ftl.
    	at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
    	at freemarker.core.Expression.getStringValue(Expression.java:118)
    	at freemarker.core.Expression.getStringValue(Expression.java:93)
    	at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
    	at freemarker.core.Environment.visit(Environment.java:209)
    	at freemarker.core.MixedContent.accept(MixedContent.java:92)
    	at freemarker.core.Environment.visit(Environment.java:209)
    	at freemarker.core.Environment.renderElementToString(Environment.java:1568)
    	at freemarker.core.StringLiteral.getStringValue(StringLiteral.java:101)
    	at freemarker.core.Include.accept(Include.java:124)
    	at freemarker.core.Environment.visit(Environment.java:209)
    	at freemarker.core.MixedContent.accept(MixedContent.java:92)
    	at freemarker.core.Environment.visit(Environment.java:209)
    	at freemarker.core.Environment.process(Environment.java:189)
    	at freemarker.template.Template.process(Template.java:237)
    	at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:182)
    	at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:559)
    	at org.apache.struts2.components.ClosingUIBean.start(ClosingUIBean.java:59)
    	at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:53)
    	at org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:104)
    	at org.apache.jsp.index_jsp._jspService(index_jsp.java:77)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:616)
    	at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
    	at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301)
    	at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283)
    	at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56)
    	at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
    	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:616)
    	at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
    	at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301)
    	at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:243)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
    	at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56)
    	at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    	at java.lang.Thread.run(Thread.java:636)
    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
    16
    17
    <?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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>WebTest</display-name>
      	<welcome-file-list>
        	<welcome-file>index.jsp</welcome-file>
      	</welcome-file-list>
     
      	<filter>
          	<filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
     
       	<filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
      	</filter-mapping>
    </web-app>
    struts.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
    29
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
     
    <struts>
     
    	<constant name="struts.devMode" value="true" />
     
    	<package name="WebTest" extends="struts-default">
     
    <!--		<action name="index">-->
    <!--			<result>/index.jsp</result>-->
    <!--		</action>-->
     
    		<action name="login" class="com.davb.strut.action.LoginAction" method="execute">
        		<result name="success">/success.jsp</result>
        		<result name="admin">admin/admin.jsp</result>
        		<result name="none">/none.jsp</result>
        		<result name="error">/error.jsp</result>
      		</action>
     
    		<action name="domaininfo" class="com.davb.strut.action.DomainInfoAction" method="execute">
    			<result name="success">admin/admin.jsp</result>
    		</action>
     
    	</package>
     
    </struts>
    index.jsp :
    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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!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=ISO-8859-1">
    		<title>WebTest</title>
    	</head>
    	<body>
    	<h2>Login</h2>
    		<s:form action="login">
    		  	<s:textfield name="user.login" label="Your email" />
    		  	<s:password name="user.passwd" label="Your password" />
    		  	<s:submit value="Connexion" />
    		</s:form>
    	</body>
    </html>
    Je ne sais plus où regarder ... si quelqu'un peut m'aider ...

    Merci à l'avance,

    David

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut
    Problème d'environnement ... J'ai réinstallé tomcat et JVM ... Tout fonctionne.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/02/2009, 13h12
  2. Réponses: 8
    Dernier message: 22/07/2008, 14h30
  3. Réponses: 0
    Dernier message: 17/07/2008, 09h17
  4. Erreur Wrong parameter count for opendir()
    Par makohsarah dans le forum Langage
    Réponses: 2
    Dernier message: 29/08/2007, 09h14
  5. [vb.net][vbexpress] erreur output parameter stored procedure
    Par graphicsxp dans le forum Windows Forms
    Réponses: 14
    Dernier message: 07/12/2005, 18h24

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