strut 2 s:select 无法在 jsp 文件中运行

strut 2 s:select won't work within a jsp file

您好,我收到一个错误消息,我的 s:select 在父 jsp 文件中可以正常工作,但是当它位于另一个 jsp 文件中时,jsp 文件被 parent.jsp 它似乎不再起作用了。我删除了所有内容,只剩下这两行以及 select 周围的所有额外内容。非常感谢任何建议或建议!

parent.jsp

<%@ taglib uri="/struts-tags" prefix="s" %>
<s:select label="some label"
    list="#{'01':'Dev','2':'Manager','03':'Customer'}"
    name="test"
    />    
<s:component template="child.jsp" templateDir="/pub/" theme="folder1" />

child.jsp

<%@ taglib uri="/struts-tags" prefix="s" %>
<s:select label="some label"
        list="#{'01':'Dev','2':'Manager','03':'Customer'}"
        name="test"
        />

文件结构

/酒吧

----/文件夹1

--------parent.jsp <-- 下拉显示出现

--------child.jsp <--- 下拉分隔符

错误信息

Struts Problem Report
Struts has detected an unhandled exception: 
Messages:
Non-normalized name, starts with "/": /pub//simple/select.ftl
File:
freemarker/cache/TemplateCache.java
Line number:
914

据我了解,您似乎需要将 child.jsp 内的 templateDir 设置为 Struts 2 内模板目录的路径,以便它可以找到s:select 的代码。此代码设法解决了问题:

<s:set var="templateDir" value="%{'template'}" scope="page"/>