2012-06-11 64 views
1

我是使用jsp标签的新手。我定义了一个标记,并且在用于生成标记的java类中,我想包含一个jsp文件(内容太长,无法像Java字符串那样很好地维护)。问题在于标签不会被解析,而是在返回给浏览器的文件中按原样输出。通过java类包含jsp文件

的什么,我试图做一个例子:

public class myTag extends TagSupport { 

    @Override 
    public int doStartTag() throws JspException { 
     StringBuffer outString = new StringBuffer(""); 
     outString.append("<table><tr><td>"); 

     outString.append("<jsp:include file=\"/widgets/myFile.jsp\" />"); 
     outString.append("</td></tr></table>"); 
     try { 
     pageContext.getOut().print(outString); 
    } catch(IOException exception) { 
     throw new JspException("ContactViewerTag: " + exception); 
    } 

     return EVAL_BODY_INCLUDE; 
    } 
} 

请记住,这是什么,我实际上工作非常精简版。如果真的那么简单,我只需从我的主jsp文件中调用include。

有没有办法通过java类来调用外部jsp文件并进行解析?如果没有,有没有人有任何建议,我应该怎么做呢?

+0

IMO如果你包括HTML内容,你最好使用基于JSP标签(而不是到一个基于Java的标签) - 是否有一个原因,你不是? –

回答