0

我有 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" />

有没有我做错了什么步骤?

4

4 回答 4

0

我猜,你遇到了语法错误。

<a href='/display.jsp?src=${photo.source}'>
于 2013-09-04T07:16:49.270 回答
0

你可以试试

<a href='/display.jsp?src=${photo.source} />

在您的第一个 jsp 页面中。

于 2013-09-04T07:25:01.077 回答
0

我已更改为以下内容,但仍然无法正常工作...

<a href='/display.jsp?src=${photo.source}'>

实际上,我的第一个 jsp 页面上没有显示错误,因为我可以看到所有链接都正确显示。

经过多次尝试,我删除了显示 servlet 中的编码,并将第二个 jsp 上的编码更改为...

<img src="<c:out value = "${param.src}" />" />

现在它工作正常。谢谢你的建议:)

于 2013-09-05T15:47:35.140 回答
-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") %>" />

参考:http ://www.jguru.com/faq/view.jsp?EID=206736

于 2013-09-05T15:55:32.303 回答