自定义标记,根据条件在JSP中使用其他JSP

时间:2015-03-16 16:52:03

标签: jstl jsp-tags

我有一个要求,我需要在某些JSP中包含JSP,而我需要包含的JSP路径取决于某些条件。

我使用了getJspContext()。include(),但它损坏了将来的请求。

所以我开始使用getJspBody()。invoke(StringWriter writer)。

我面临的问题是它将执行自定义标记中传递的JSP内容,如下所示:

<%@ include file="addressForm.jsp" %>

但是我需要在TAG中指定JSP的路径,以便根据不同的条件我可以使用不同的路径。

我检查过但没有找到设置JSP主体的正确方法。

请告诉我们该如何实现?

1 个答案:

答案 0 :(得分:0)

这是我首选的包含JSP的方法:

<c:import url="addressForm.jsp"/>

你可以使url参数动态化($ {...}中的东西是变量)。

<c:import url="${path}/${form}.jsp"/>

因此,在此示例中,$ {path}是您可以设置的变量,与$ {form}相同。如果你想要使用这种类型的include,请确保你也在JSP页面的顶部包含它:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

有大量关于使用JSTL和&#34;核心&#34;的示例和教程。标签库。这是一个:http://www.javatpoint.com/jstl