2012-05-17 2 views
1

J'essaie de créer une application wiki dans google app engine. J'utilise le modèle de chaîne. Mais je ne comprends pas la hiérarchie des fichiers de modèles.Impossible de trouver le modèle StringTemplate

Voici le code.

  • importations nécessaires effectuées.

    public class Add extends HttpServlet{ 
    
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
        throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    //super.doPost(req, resp); 
    DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService(); 
    
    String title = req.getParameter("title"); 
    Entity articleEntity = new Entity("Article", normalize(title)); 
    articleEntity.setProperty("title", title); 
    
    UserService userService = UserServiceFactory.getUserService(); 
    User user = userService.getCurrentUser(); 
    if(user != null){ 
        String author = user.getNickname(); 
        articleEntity.setProperty("author", author); 
    }else{ 
        String author = "Anonymous"; 
        articleEntity.setProperty("author", author); 
    } 
    
    String content = req.getParameter("content"); 
    Text myContent = new Text(content); 
    articleEntity.setProperty("content", myContent); 
    
    datastoreService.put(articleEntity); 
    
    resp.sendRedirect("index.jsp"); 
    } 
    
        private String normalize(String str){ 
    String trimmedLower = str.toLowerCase().trim(); 
    String urlReady = trimmedLower.replace(" ", "-"); 
    return urlReady; 
    } 
    
    } 
    

Et est la structure du répertoire ici. directroy

Je reçois cette erreur

HTTP ERROR 500 

Problem accessing /page. Reason: 

Can't find template retrieve-article.st; group hierarchy is [xhtml] 

Causée par:

java.lang.IllegalArgumentException: Can't find template retrieve-article.st; group hierarchy is [xhtml] 
at  org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGroup.java:507) 
at org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:392) 
at org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:404) 
at in.isuru.wiki.Page.doGet(Page.java:42) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) 
at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:60) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) 
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) 
at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78) 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:362) 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
at org.mortbay.jetty.Server.handle(Server.java:326) 
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) 
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) 
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) 
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) 

Propulsé par Jetty: //

Répondre

2

Essayez d'éviter '-' dans les noms de modèle. Ter

+0

J'ai également trouvé que "." dans mon chemin causé de ne pas trouver le fichier aussi bien. – Aaron

Questions connexes