1

在 Geronimo 2.1.4(jetty6、javaee5)下将我的 Grails 1.1-M2 应用程序作为 WAR 运行时,从 GSP 生成的 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 run-app”或“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”一切正常。

关于这个问题的任何想法?

4

1 回答 1

2

我强烈建议将代码保留在默认包之外,并将其放入一个好的包结构中。我怀疑这是你的问题。

于 2009-09-11T01:33:10.523 回答