我需要在运行时在JSP中包含html或image。我将在运行时了解jsp文件名。所以我无法对JSP包含进行更改。
我该怎么做?
答案 0 :(得分:2)
我不确定你的运行时是什么意思?我做过类似的事情。在控制器中我做。 model.addAttribute("jspContent", "test.jsp")
然后在包含jsp文件中:
<jsp:include page="${jspContent}" ></jsp:include>
编辑:
阅读你的评论。我想那取决于你正在使用的其他技术。您可以添加要包含在会话中的名称,然后在接收重定向的Controller中读取它。将其添加到模型并从会话中清除。或者,如果您碰巧使用Spring,我昨天就知道了这一点:http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-flash-attributes
EDIT2: 我的意思是这样的,我不完全确定它是否合适,但这是一个想法:) 在重定向的控制器中,您可以执行以下操作:
session.setAttribute("jspContentFromRedirect", "test.jsp");
servletResponse.sendRedirect(urlToRedirectTo);
然后在接收控制器中:
String jspContent = session.getAttribute("jspContentFromRedirect");
if(jspContent != null){
model.addAttribute("jspContent", jspContent);
session.setAttribute("jspContentFromRedirect", null);
}
像这样的东西