我想使用自定义 jsp 标签来帮助在我的应用程序中构建菜单。但是,我希望所有实际的 HTML 都存在于 JSP 文件中,而不是 Java 类中。
所以,假设我有一个这样的标签:
<mytags:Menu>
<mytags:MenuItem name="foo"/>
<mytags:MenuItem name="bar"/>
<mytags:MenuItem name="baz"/>
</mytags:Menu>
然后我可能有我的Menu
标签的类,如下所示:
public class MenuPill extends TagSupport {
public int doStartTag() throws JspException {
try {
pageContext.include("/menu/menu.jsp");
} catch (ServletException e) {
throw new JspException(e);
} catch (IOException e) {
throw new JspException(e);
}
return super.doStartTag();
}
}
我的menu.jsp
文件是菜单本身的包装器,可能如下所示:
<div id="menu>
<%somehow include the body here%>
</div>
我想要做的是将我的mytags:Menu
标签正文(它将为实际菜单项生成 HTML)放入menu.jsp
开始和结束标签之间的 , 中。我知道我可以将它分成两个不同的 jsp 文件,一个用于开始标记,一个用于结束标记,但这似乎很草率。
是否有可能做到这一点?
谢谢!