2015-02-23 84 views
0

我有点新鲜JSP,我有问题的理解可能是错误有以下包括我的JSP中的代码:包括来自另一个JSP文件JSP代码正确

../test-project/main。 JSP

<jsp:include page="../blueprint-project/header-includes.jsp"/> 
<!-- More HTML/CSS code below which is working and not blocking --> 

../blueprint-project/header-include.jsp

<%@ taglib uri="struts-sslext" prefix="sslext" %> 
<%@ page import="mts.psp.web.struts.util.WebSessionUtil" %> 
<%@ page import="mts.psp.web.struts.util.ActionUtil" %> 
<%@ page import="mts.psp.metrics.entity.TestGroup" %> 
<%@ page import="mts.psp.util.common.ConfigUtil" %> 
<%@ taglib uri="struts-tiles" prefix="tiles" %> 
<%@ taglib uri="struts-html" prefix="html" %> 
<%@ taglib uri="struts-logic" prefix="logic" %> 
<%@ taglib uri="struts-bean" prefix="bean" %> 
<%@ taglib uri="jstl-core" prefix="c" %> 

在页面的顶部main.jsp中内的先前存在于报头include.jsp的代码。我试图做的是把这段代码放在另一个.jsp文件(名为header-include.jsp)中,并将它动态地包含在main.jsp中。当我尝试这样做时,我得到一个500错误。我试图做到可能/正确吗?任何来自社区的帮助都会非常出色。

+1

不,它不能用** dynamic ** include完成,它在运行时解析。 JSP编译器如何理解,如果在运行时动态地包含这些taglib,那么它们会如何? – 2015-02-23 18:25:00

+0

这是非常有用的,有没有什么方法可以完成你所知道的事情,或者可能是我想这样做的最好方式,最好是保持原来的代码? – AGE 2015-02-23 18:34:09

+2

使用** static ** include。 http://stackoverflow.com/questions/14580120/whats-the-difference-between-including-files-with-jsp-include-directive-jsp-in。也就是说,我在IDE中遇到了不好的经历,因为它无法理解JSP标签,提供自动完成等。 – 2015-02-23 18:36:09

回答

0

好像所有我必须做的是使用静态包括,所建议的意见:

<%@ include file="../blueprint-project/header-includes.jsp" %> 

静态包含允许我在翻译时的header-includes.jsp的内容添加到当前页面。这在oracle docs以及this stack overflow answer中清楚地证明。