2016-03-18 2 views
2

Я пытаюсь включить jsp-файл, используя специальный taglib. У меня есть все настройки taglib на месте, но он показывает инструкцию include вместо содержимого jsp.Как включить файл jsp с помощью пользовательского taglib?

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, поэтому любая помощь приветствуется. Благодаря

ответ

1

Вы можете установить атрибут с именем файла в PageContext, а затем создать свой включать директиву в JSP

Что-то вроде этого

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

Ваш JSP:

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

, а затем в вашем JSP, получите этот атрибут и voula! Вам не нужно добавлять или написать отверстие JSP файл в писателе

Надеется, что это помогает :)

+0

Спасибо, я просто понял это вне. – stillLearning

0

Я понял, используя PageContext:

pageContext.include(ERROR_BLOCK_FILE_NAME); 
Смежные вопросы