2016-11-30 94 views
0

我创建了一个Grails 3.1.1应用程序,该应用程序使用表单来加载包含数据的表格。本地运行,一切正常。但是,当部署到远程Tomcat时,提交表单会导致出现javax.servlet.ServletException错误。Grails 3应用程序在本地运行,但无法在部署到远程Tomcat时解析视图

典型错误: javax.servlet.ServletException: Could not resolve view with name 'stuckOrders' in servlet with name 'grailsDispatcherServlet'

从stuckOrders.gsp段:

<html> 
    <head> 
     <meta name="layout" content="main"/> 
     <asset:javascript src="application.js"/> 
     <title>LPP Order Fixer</title> 
    </head> 
<body> 
    <div id="orders" style="float:left;width:70%;height:90%;"> 
     <g:form name="stuckOrders" controller="lppOrderFixer" action="stuckOrders"> 
      <label>Location: </label> 
      <input type="radio" id="locationReno" name="location" value="Reno"> Reno 
      <input type="radio" id="locationGalion" name="location" value="Galion"> Galion 
      <g:actionSubmit value="Locate Orders" action="stuckOrders"/> 

LppOrderFixerController.groovy:

package lpporderfixer 
class LppOrderFixerController { 
    def lppOrderFixerService 
    def location 

    def index() {} 
    def stuckOrders() { 
     location = Location.valueOf(params?.location) 
     List stuckOrdersList = lppOrderFixerService.fetchStuckOrders(location) 
     [stuckOrders:stuckOrdersList] 
    } 
} 

UrlMappings.groovy:

package lpporderfixer 
class UrlMappings { 
    static mappings = { 
     "/$controller/$action?/$id?(.$format)?"{ 
      constraints { 
       // apply constraints here 
      } 
     } 
     "/"(view:"/lpporderfixer/stuckOrders") 
     "500"(view:'/error') 
     "404"(view:'/notFound') 
    } 
} 

项目视图布局:

LPPOrderFixer view layout

我试着在LppOrderFixerController.groovy与render(view: 'stuckOrders', model:[stuckOrders:stuckOrdersList]更换[stuckOrders:stuckOrdersList],似乎没有任何改变。

在本地,应用程序从​​开始。提交表单然后填充表格,URL更改为http://localhost:8080/lppOrderFixer/stuckOrders

在远程Tomcat上,应用程序不在根上下文中,因此它开始于http://<remotehost>:8080/lpporderfixer/。提交表单会导致错误,网址为http://<remotehost>:8080/lpporderfixer/lppOrderFixer/stuckOrders

我花了整整一天的时间试图让这个工作,任何建议将不胜感激。提前致谢!

回答

0

我怀疑这是因为GSP没有被编译并发送到war文件中。

如有尚未

apply plugin:'war' 
apply plugin:'org.grails.grails-web' 
apply plugin:"org.grails.grails-gsp" 

查找apply plugin:"org.grails.grails-gsp",你应该已经具有前两个添加到您的build.gradle文件。

相关问题