我有 2 个 jsp 页面,第一个 jsp 将显示带有链接到第二个 jsp 页面的图像。
<a href='/display.jsp?src=<c:out value="${photo.source}"/>'>
在显示 servlet 中,我有以下编码...
String srcLink = (String) req.getParameter("src");
req.setAttribute("src", srcLink);
getServletConfig().getServletContext().getRequestDispatcher("/display.jsp").forward(req, resp);
}
在我的第二个jsp(display.jsp)中,我有以下编码...
<img src="<%= request.getAttribute("src") %>" />
但是,当我在浏览器中查看时,它将显示为...
<img src="null" />
我做错了什么步骤吗?
我猜,你遇到了语法错误。
<a href='/display.jsp?src=${photo.source}'>
我已经更改为下面,但它仍然不起作用...
<a href='/display.jsp?src=${photo.source}'>
实际上,我的第一个jsp页面上没有显示错误,因为我可以看到所有链接都正确显示。
经过多次尝试,我已经删除了显示 servlet 中的编码,并将我的第二个 jsp 上的编码更改为......
<img src="<c:out value = "${param.src}" />" />
现在它工作正常。感谢您的建议:)
试试
<a href='/display.jsp?src=${photo.source} />
在您的第一个 JSP 页面中。
无需将属性设置为 request.setAttribute(),因为您使用的是 RequestDispatcher。它将相同的请求转发到其他 servlet/JSP。你只需要使用 request.getParameter
用 request.getParameter("src")
相反
request.getAttribute(...)
因此,显示 servlet 中的代码如下所示:
getServletConfig().getServletContext().getRequestDispatcher("/display.jsp").forward(req, resp);
和内部显示.jsp,
<img src="<%= request.getParameter("src") %>" />
参考: http://www.jguru.com/faq/view.jsp?EID=206736