使用变量包含JSP页面

时间:2015-03-06 11:03:07

标签: java jsp

我需要包含名称包含在变量中的不同JSP页面:

String pagename = myObject.getPage();
%><jsp:include page="<%=pagename%>"  flush="true"></jsp:include><%

但是不允许这种语法。 如何在不使用开关盒的情况下实现相同的结果?

3 个答案:

答案 0 :(得分:3)

尝试将Expression Language (EL)用作${pagename}而不是<%=pagename%>

<jsp:include page="${pagename}"  flush="true"></jsp:include>

答案 1 :(得分:0)

您可以直接使用RequestDispatcher。

<%

         RequestDispatcher rd = request.getRequestDispatcher(pagename);
         rd.include(request, response);
%>

答案 2 :(得分:0)

表达式语言是一种很好的做法。但是,要使用表达式语言并访问对象和成员变量,它们应该在应用程序,请求,页面等范围内可用。

如果您的页面详细信息作为请求对象中的参数及其唯一。

<jsp:include page ="{param.pagename}"></jsp:include>就足够了,其中pagename是请求参数名称。

但是,如果您将页面详细信息设置为请求或会话或应用程序中的属性,请使用requestScope.pagenamesessionScope.pagenameapplicationScope.pagename来访问页面信息。