如何使用自定义taglib包含jsp文件?

时间:2016-03-18 17:56:27

标签: java jsp tags include taglib

我正在尝试使用自定义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来说真的很新,所以感谢任何帮助。感谢

2 个答案:

答案 0 :(得分:1)

您可以使用 PageContext 中的文件名设置属性,然后在JSP中创建include指令

像这样的东西

pageContext.setAttribute("includeFileName", "YourFile.jsp path", PageContext.REQUEST_SCOPE); 

您的JSP:

<%@include file="${pageContext.includeFileName}" %>

然后在你的JSP中,获取该属性和voula! 您并不需要在编写器中添加或编写漏洞JSP文件

希望有所帮助:)

答案 1 :(得分:0)

我想出了使用pageContext:

 pageContext.include(ERROR_BLOCK_FILE_NAME);