2009-09-10 22 views
1

當在Geronimo 2.1.4(jetty6,javaee5)下將我的Grails 1.1-M2應用程序作爲WAR運行時,從GSP生成的HTML不包含我的動態內容。Grails GSP在Geronimo下不生成預期的HTML

具體地,該GSP片段:

<tr class="prop"> 
    <td valign="top" class="name"> 
     <label for="type"> 
      <g:message code="album.type.label" default="Type" /> 
     </label> 
    </td> 
    <td valign="top" class="value ${hasErrors(bean:albumInstance,field:'type','errors')}"> 
     <g:select from="${AlbumType?.values()}" value="${albumInstance?.type}" name="type" ></g:select> 
    </td> 
</tr> 

...的Geronimo下運行時產生該HTML:

<tr class="prop"> 
    <td valign="top" class="name"> 
     <label for="type"> 
      Type 
     </label> 
    </td> 
    <td valign="top" class="value "> 
     <select name="type" id="type" ></select> 
    </td> 
</tr> 

...然而作爲運行時 '的grails運行的應用程序' 或「 grails run-war',這個,生成正確的HTML:

<tr class="prop"> 
    <td valign="top" class="name"> 
     <label for="type"> 
      Type 
     </label> 
    </td> 
    <td valign="top" class="value "> 
     <select name="type" id="type" > 
      <option value="EP" >EP</option> 
      <option value="LP" >LP</option> 
      <option value="SINGLE" >SINGLE</option> 
     </select> 
    </td> 
</tr> 

AlbumType.groovy在src/groovy中定義爲:

public enum AlbumType { 
    EP, 
    LP, 
    SINGLE 
} 

我已經打開Grails中的所有日誌記錄,沒有看到任何錯誤或異常。這個問題令人困惑,因爲我在Geronimo下運行我的Grails WAR時只能看到它。當然,我還沒有嘗試過任何其他的應用服務器,儘管它好奇地認爲一切正常,'grails run-app'和'grails run-war'都可以正常工作。

有關這個問題的任何想法?

回答

2

我強烈建議將代碼保留在默認包中,並將其放入一個良好的包結構中。我懷疑這是你的問題。

+0

確實是這個問題。一旦將AlbumType移動到src/groovy下的包中並將其導入到gsp中,一切都很順利。謝謝! – shek 2009-09-11 02:34:52