【发布时间】:2012-04-06 16:00:57
【问题描述】:
我有一个迭代用户列表的 jsp 页面。每个用户都有自己的显示图片。我要显示这些显示图片。
问题在于,当页面加载时,所有图像都是相同的,而不是为每个用户提供不同的图像。
迭代器中的图片标签是这样的:
<img src="<s:url action="getUserImage">
<s:param name="user">
<s:property value="userId"/>
</s:param>
</s:url>"/>
动作看起来像这样
this.inputStream = ByteArrayInputStream(userService.getUserById(Integer.parseInt(user)).getDisplayPicture());
在调试时我发现,在为每个图像执行操作时,'user' 属性总是相同的。
有趣的是,当我在浏览器上检查 imgs 元素时,src 参数都是正确的(意味着它们每个都有自己不同的值)。
我正在使用 spring 框架,自动连接动作类 .. struts.objectFactory value="spring"
【问题讨论】:
-
“所有图像都是相同的,而不是每个用户的不同图像。” 似乎与 矛盾“当我在浏览器上检查 imgs 元素时, src 参数都是正确的(意味着它们每个都有自己不同的值)。” 你确定这两个陈述都是正确的吗?
-
是的,我确定。我知道这很有趣。显示的图像都是一样的,但它们的 src 参数是应该的。
-
如果 url 参数正确,但无论 url 参数如何,您都得到相同的图片,那么您的 userService.getUserById 每次都必须返回相同的图片。因此,它可能不是 struts2 的问题。
-
它并不总是重复的相同图像。如果我自己使用网址,它会完美运行。
标签: java image jsp struts2 inputstream