我有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" />
我有错误的步骤吗?
答案 0 :(得分:0)
我猜,你遇到了语法错误。
<a href='/display.jsp?src=${photo.source}'>
答案 1 :(得分:0)
你可以尝试
<a href='/display.jsp?src=${photo.source} />
在你的第一个jsp页面中。
答案 2 :(得分:0)
我已更改为以下内容,但仍无效...
<a href='/display.jsp?src=${photo.source}'>
实际上我的第一个jsp页面上没有显示错误,因为我可以看到所有链接都正确显示。
经过多次尝试,我已经删除了显示servlet中的编码并将第二个jsp上的编码更改为...
<img src="<c:out value = "${param.src}" />" />
现在工作正常。感谢您的建议:)
答案 3 :(得分:-1)
无需将属性设置为request.setAttribute(),因为您正在使用RequestDispatcher。它将相同的请求转发给其他servlet / JSP。你可以使用request.getParameter
使用 的的request.getParameter( “SRC”)强>
代替
request.getAttribute(...)
所以显示servlet 中的代码如下所示:
getServletConfig().getServletContext().getRequestDispatcher("/display.jsp").forward(req, resp);
并在 display.jsp 内,
<img src="<%= request.getParameter("src") %>" />