`
pipe
  • 浏览: 206670 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

webwork action同时输出图片以及其他数据信息到jsp

阅读更多
在项目中 我们经常会碰到要输出图片以及查询结果list到页面jsp的情况,单纯的只输出list到jsp倒是很简单。但是要将2者同时输出 ,可能就有点麻烦。
不知道webwork是否提供了这方面的支持。
在这里,我们就用最土的办法来做了。

首先,写1个OutListAction,它有2个方法,一个是getImage(),另一个是getList()。OutListAction extends WebWorkResultSupport 这样子,action就可以return null 了。return null的目的是为了采用response输出图片流.

public class OutListAction extends WebWorkResultSupport {public String getImage() throws IOException {
		InputStream in = null;
		OutputStream out = ServletActionContext.getResponse().getOutputStream();
		ServletActionContext.getResponse().setContentType("image/jpeg");
		String strFullPath = ServletActionContext.getServletContext()
				.getRealPath("/");
		File f = new File(strFullPath + "img//none.bmp");
		in = new FileInputStream(f);// 初始化inputStream 默认为img//none.bmp
		if (picno != null && !picno.equals("")) {
			imageList = dao.getImageByID(picno);
			if (imageList != null && imageList.size() > 0) {
				Image img = (Image) imageList.get(0);
				if (img != null && img.getImage() != null) {
					Blob blob = img.getImage();//上面这部分都是通过picno来查询数据中是否有该图片,如果没,就采用默认的图片img//none.bmp来显示在页面。
					if (blob != null) {
						try {
							in = blob.getBinaryStream(); // 更改inputStream
						} catch (SQLException e) {
							e.printStackTrace();
						}
					}
				}
			}
		}
		try {
			byte[] b = new byte[1024];
			int i = 0;
			while ((i = in.read(b)) > 0) {
				out.write(b, 0, i); // 读图片
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (in != null) {
				in.close();
				if (out != null) {
					out.close();
				}
			}
		}
		return null;
	}
public String getList() {
		kindList = dao.getKindName();
}
}

OK!  Action写完了!现在我们来看list.jsp
这里要输出图片的话,通过javascript来获取该图片输出流。其代码如下:
<img id ="carimage" width="135" height="120" hspace="2"></td>
						<script type = "text/javascript"> 
							var picno ='<ww:property value="top[37]" />';     
							 var url ="getImage.action?picno="+picno;
								document.getElementById("carimage").src=url;		
						 </script>

至于list输出就随便输出了!
<ww:iterator value="kindList " status="li">
<ww:property value="#li.count" />
</ww:iterator >


好了,基本上就这样! 不知道大家有没有更好更简单的方法,请指正!
分享到:
评论

相关推荐

    webwork in action

    2. **输出数据**:处理完数据后,可以将其保存到请求作用域中,然后通过转发或重定向的方式呈现给用户。 #### 五、WebWork JSP标签库介绍 WebWork提供了一套丰富的JSP标签库,可以帮助开发者更高效地构建动态页面...

    WebWork入门教程[创建你第一个WebWork action]

    让我们深入探讨WebWork的核心概念、Action的创建以及如何实现基本的流程控制。 **WebWork核心概念** 1. **Action**: 在WebWork中,Action是业务逻辑的主要载体。它负责接收来自视图层(如JSP)的请求,处理业务...

    webwork in action 源代码

    《WebWork in Action》是一本专注于介绍WebWork框架的书籍,源代码的提供是为了让读者更深入地理解和实践书中的示例。WebWork是一个基于Java的MVC(模型-视图-控制器)框架,用于构建动态Web应用程序。它强调了代码...

    webwork in action.

    WebWork是一个基于Java的开源MVC...通过阅读"WebWork in Action"这本书和研究提供的代码示例,开发者不仅可以掌握WebWork的基本用法,还能学习到如何在实际项目中充分利用它的功能,提升Web应用的开发效率和质量。

    Webwork in action

    根据提供的文件信息,我们可以推断出这是一本关于WebWork框架的书籍介绍。从书名“WebWork in Action”及简短的描述“WebWork in action”,可以看出这本书旨在通过实践的方式教授读者如何使用WebWork这一Java Web...

    Webwork.in.action最新中文版

    《Webwork.in.Action》是一本深入探讨Webwork框架的书籍,中文版的出现使得国内开发者能够更方便地学习和理解这一强大的Java web开发框架。Webwork是由一系列组件组成的MVC(Model-View-Controller)框架,它在Java...

    webwork in action 04

    webwork in action 第一部分:概貌 第二部分:核心内容 第三部分:内容的显示 第四部分:高级话题

    WEBWORK

    在 WebWork 中,`FilterDispatcher` 是核心过滤器,负责处理请求并将其转发到相应的 Action。在提供的示例中,`&lt;filter&gt;` 和 `&lt;filter-mapping&gt;` 元素定义了名为 `webwork` 的过滤器,它将所有以 `/` 开头的 URL ...

    webwork

    在提供的"Webwork2 Guide.pdf"文档中,你可能会学习到如何安装配置WebWork2环境,创建和运行第一个WebWork应用程序,理解Action和Interceptor的工作原理,以及如何利用WebWork的特性进行表单处理、异常管理和国际化...

    webwork in action 中文版.part02.rar

    webwork in action 中文版

    webwork in action 中文版.part07.rar

    webwork in action 中文版

    WebWork2.0讲解说明

    2. Action:Action是WebWork2.0中的控制器组件,负责处理用户的请求,执行相应的业务逻辑,并返回结果到视图。 3. Interceptors(拦截器):拦截器是WebWork2.0的一个强大功能,允许在Action调用前后插入自定义逻辑...

    webwork in action 中文版.part03.rar

    webwork in action 中文版

    Webwork2开发指南

    Webwork2 提供了强大的数据绑定功能,允许开发者将表单字段直接映射到动作类的属性,极大地简化了输入验证和数据处理。通过注解或XML配置,可以定义数据类型的转换器和验证规则。 **4. 异常处理** Webwork2 具有...

    webwork学习资料

    在实际项目中,还需要掌握如何配置Action、结果映射、拦截器、数据校验规则以及如何与视图层(如JSP或FreeMarker)集成等内容。WebWork的学习资料将提供这些知识的详细指导,帮助初学者快速上手。

    详解Webwork中Action 调用的方法

    总结来说,Webwork中的Action调用涉及到类关系的构建、参数的获取与包装、ActionProxy的创建以及Action的执行。通过这一系列过程,Webwork能够高效地处理用户请求,执行业务逻辑,并将结果呈现给用户。理解这些核心...

Global site tag (gtag.js) - Google Analytics