直接訪問 JSP 圖片正常,通過 Action 結果跳轉同一 JSP 圖片 404。瀏覽器開發者工具 Network 面板可見圖片請求 URL 錯誤。
Struts2 默認使用轉發 (dispatcher) 到 JSP。瀏覽器地址欄仍顯示 Action URL (如 /app/user/list.action),JSP 內相對路徑 <img src="images/logo.png"> 會被瀏覽器解析為 /app/user/images/logo.png,實際資源在 /app/images/logo.png。
<img src="<%=request.getContextPath()%>/images/logo.png" alt="Logo">
<!-- 或 JSTL -->
<img src="<c:url value='/images/logo.png'/>" alt="Logo">
<head>
<base href="<%=request.getContextPath()%>/">
</head>
頁面內所有相對鏈接自動以 contextPath 為基準。
<result name="success" type="redirect">/pages/target.jsp</result>
瀏覽器地址變為 JSP 真實路徑,相對路徑正常解析。缺點:請求屬性丟失,需用 Session/Flash 傳值。
web.xml 中 DefaultServlet 靜態資源映射是否正確。