gpt4 book ai didi

mysql - 如何在jsp中显示从mysql检索到的图像。我正在使用struts2和tiles

转载 作者:行者123 更新时间:2023-11-29 23:24:44 25 4
gpt4 key购买 nike

我正在为我的项目使用 strust2 和tiles。以下是用于输入 ID 的代码 (jsp)。

<s:textfield    name="uniqueID"    label="Enter Unique ID"    required="required"/>

这是操作文件。

public String execute() throws Exception{
SearchDao.search(selectedID,uniqueID);
return SUCCESS;
}

dao 将检索图像。

try{
.
.
.
rs = ps.executeQuery();

if(rs.next()){
InputStream originalImageStream = rs.getBinaryStream(1);

File file = new File("Retina"+".jpg");
FileOutputStream fileOutputStream = new FileOutputStream(file);

while ((length = originalImageStream.read()) != -1) {
fileOutputStream.write(length);
}
fileOutputStream.close();
}
else{
return null;
}
}
catch(Exception ex){
ex.printStackTrace();
}
return "found";

一旦找到图像,将返回找到,因此操作文件将返回成功struts.xml中的代码是

<action name="search"       class="com.ActionClasses.SearchAction">
<result name="success" type="tiles"> found </result>
<result name="input" type="tiles"> search </result>
<result name="error" type="tiles"> notFound </result>
</action>

这是tiles.xml文件。

<definition name="found" extends="home">
<put-attribute name="myTitle" value="searchSuccess"/>
<put-attribute name="myBody" value="/found.jsp"/>
</definition>

现在如何在 found.jsp 中显示检索到的图像。我在互联网上找到了一些解决方案,但仅限于使用struts2或struts2与hibernate一起使用的项目。对于同时使用 strus2 和tiles 的项目,我没有找到任何解决方案。谁能帮我。谢谢。

最佳答案

试试这个......我已经在我的一个项目中实现了类似的场景,但在 Spring ,我想它应该适合你,只需做一些小的改变

这就是我所实现的。我创建了一个 Controller (也称为 struts 中的操作),如下所示

@RequestMapping(value = "view", method = RequestMethod.GET)
public void getImage(@RequestParam(value = "location") String location, HttpServletResponse response) {
String ext = FilenameUtils.getExtension(location);
response.setContentType("image/"+ext);
try {
File file = new File(location);
BufferedImage image = ImageIO.read(file);
OutputStream baos = response.getOutputStream();
ImageIO.write(image, ext, baos);
baos.flush();
baos.close();
} catch (FileNotFoundException e) {
logger.error("File Not Found: " + location, e);
} catch (IOException e) {
logger.error("Can't read the File: " + location, e);
} catch(Exception e) {
logger.error("Can't read input file: " + location, e);
}

return;
}

然后在服务器实际 View 的 Controller /操作中我做了类似的事情

    final String IMAGE_RESOLVER = "../../image/view?location=";
Game game = gameService.populateGame(gameId);
if(game.getThumbnailPath() != null) {
game.setThumbnailPath(IMAGE_RESOLVER.concat(game.getThumbnailPath()));
}
mv.addObject("game", game); // set object to return to view

当名为“thumbnail”的 DOM 对象收到此字符串时,它会调用上面提到的操作,返回一个图像

希望这对您有用

关于mysql - 如何在jsp中显示从mysql检索到的图像。我正在使用struts2和tiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27054768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com