2012-01-26 16 views
2

我需要在運行時在JSP中包含html或圖像。我將在運行時瞭解jsp文件名。所以我無法對JSP包含進行更改。如何在運行時在JSP中包含HTML?

我該怎麼做?

+0

GET請求或POST? – prometheuspk

+0

它的GET請求... – Vel

+0

你能以某種方式發送查詢字符串中的HTML頁面或圖像的名稱? – prometheuspk

回答

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); 
    } 

像這樣的事情

+0

我可以根據您的建議將jspcontent包含在控制器中。但我的問題是關於jsp文件。基本上它的重定向功能,我將根據搜索到的關鍵字重定向到URL(在控制器中)。所以我沒有辦法在重定向之前提前討論jsp文件。我無法對重定向URL的jsp文件進行任何更改。希望這個清除。 – Vel

+0

嗨,謝謝你的幫助。請解釋一下你提到的「將它添加到模型並從會話中清除」。這是我需要包含重定向的URL中的內容嗎? – Vel