如何使用自定义标签库包含 jsp 文件?
How to include a jsp file using a custom taglib?
我正在尝试使用自定义标签库包含一个 jsp 文件。我已将所有 taglib 设置到位,但它显示的是 include 语句而不是 jsp 内容。
public int doStartTag() throws JspException {
JspWriter out = pageContext.getOut();
StringBuffer sb = new StringBuffer();
if (section != null && !section.isEmpty()) {
sb.append("<%@ include file=\"defaultHeader.jsp\" %>");
}
try {
out.println(sb.toString());
} catch (IOException e) {
log.error("Failed to generate the tag", e);
e.printStackTrace();
}
return super.doStartTag();
我是 taglibs 的新手,所以非常感谢您的帮助。谢谢
您可以在 PageContext 中使用文件名设置属性,然后在 JSP
中创建包含指令
像这样
pageContext.setAttribute("includeFileName", "YourFile.jsp path", PageContext.REQUEST_SCOPE);
你的JSP:
<%@include file="${pageContext.includeFileName}" %>
然后在您的 JSP 中,获取该属性并 voula!
你真的不需要将洞 JSP 文件添加或写入 writer
希望对您有所帮助:)
我想出了使用 pageContext 的方法:
pageContext.include(ERROR_BLOCK_FILE_NAME);
我正在尝试使用自定义标签库包含一个 jsp 文件。我已将所有 taglib 设置到位,但它显示的是 include 语句而不是 jsp 内容。
public int doStartTag() throws JspException {
JspWriter out = pageContext.getOut();
StringBuffer sb = new StringBuffer();
if (section != null && !section.isEmpty()) {
sb.append("<%@ include file=\"defaultHeader.jsp\" %>");
}
try {
out.println(sb.toString());
} catch (IOException e) {
log.error("Failed to generate the tag", e);
e.printStackTrace();
}
return super.doStartTag();
我是 taglibs 的新手,所以非常感谢您的帮助。谢谢
您可以在 PageContext 中使用文件名设置属性,然后在 JSP
中创建包含指令像这样
pageContext.setAttribute("includeFileName", "YourFile.jsp path", PageContext.REQUEST_SCOPE);
你的JSP:
<%@include file="${pageContext.includeFileName}" %>
然后在您的 JSP 中,获取该属性并 voula! 你真的不需要将洞 JSP 文件添加或写入 writer
希望对您有所帮助:)
我想出了使用 pageContext 的方法:
pageContext.include(ERROR_BLOCK_FILE_NAME);