我需要包含名称包含在变量中的不同JSP页面:
String pagename = myObject.getPage();
%><jsp:include page="<%=pagename%>" flush="true"></jsp:include><%
但是不允许这种语法。 如何在不使用开关盒的情况下实现相同的结果?
答案 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.pagename
或sessionScope.pagename
或applicationScope.pagename
来访问页面信息。