`

DWR学习及应用(二,forward)

阅读更多

使用dwr我们可以动态请求一个页面内容到当前页:一下是代码:

1,后台方法:

public String getInclude() throws ServletException, IOException {

		WebContext ctx = WebContextFactory.get();
		System.out.println(ctx.getCurrentPage());
		ctx.getHttpServletRequest().setAttribute("test", "hello ,test forward");
		return ctx.forwardToString("/iclude.jsp");
	}

 

2,dwr配置:

 <create javascript="testinclude" creator="new">
        <param name="class" value="com.dwr.TestInclude"/>
    </create>

 3,页面:

<html>
	<head>
		<base href="<%=basePath%>">
		<script type="text/javascript" src="dwr/engine.js"></script>
		<script type="text/javascript" src="dwr/util.js"></script>
		<script type="text/javascript" src="dwr/interface/testinclude.js"></script>
<script type="text/javascript">

   function getInClude(){
    testinclude.getInclude(
       function(data){
           dwr.util.setValue("fq",data,{ escapeHtml:false });
       } 
    );
   }
</script>
	</head>
<body>
		<input type="button" value="include page"
			onclick="javascript:getInClude()" />
		<div id="fq">
		</div>
</body>

</html>

 2,其中使用了

WebContext ctx = WebContextFactory.get();

ctx.forwardToString("/iclude.jsp");

查看dwr源代码:

 getServletContext().getRequestDispatcher(url).forward(realRequest, fakeResponse);

 其中:fakeResponse

HttpServletResponse fakeResponse = new SwallowingHttpServletResponse(realResponse, sout, realResponse.getCharacterEncoding());

  而SwallowingHttpServletResponse使用了WriterOutputStream

 public SwallowingHttpServletResponse(HttpServletResponse response, Writer sout, String characterEncoding)
    {
        super(response);

        pout = new PrintWriter(sout);
        outputStream = new WriterOutputStream(sout, characterEncoding);

        this.characterEncoding = characterEncoding;
    }

 WriterOutputStream:也就是对 ServletOutputStream的封装。

public final class WriterOutputStream extends ServletOutputStream

 

1
0
分享到:
评论

相关推荐

    SSH+dwr实现三级级联

    DWR(Direct Web Remoting)则是一种JavaScript库,允许在浏览器和服务器之间进行实时的、异步的数据交换,增强了Web应用的用户体验。在这个场景中,“SSH + dwr 实现三级级联”指的是使用SSH框架与DWR技术结合,来...

    OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR)130224.rar

    OA办公自动化管理系统是一款基于Java技术栈的Web应用,利用了Struts1.2、Hibernate3.0、Spring2和DWR等开源框架。这个项目旨在提高企业内部的办公效率,实现工作流程自动化,减少人为错误,并提升信息共享的便捷性。...

    JSP源码——OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR).zip

    这是一个基于Java技术栈的OA(Office Automation)办公自动化管理系统...通过学习和分析这个源码,开发者可以深入理解Java Web开发中的MVC模式、ORM机制、依赖注入以及异步通信等关键概念,对于提升专业技能大有裨益。

    Java框架学习笔记.pdf

    在Struts中,ActionServlet充当Controller的角色,通过struts-config.xml配置文件来管理应用程序中的ActionForm、Action、Forward等。 在实际应用中,Struts通过ActionForm接收用户输入,然后将请求分发给Action类...

    Struts快速学习指南

    虽然Struts1本身对AJAX支持有限,但可以通过第三方库如DWR或使用Struts2的AJAX插件实现部分页面的异步更新。 **快速学习步骤:** 1. 安装并配置Struts环境,包括Tomcat服务器和Struts库。 2. 创建基本的Struts项目...

    java知识点汇总学习路线与笔记

    - **DWR**:Direct Web Remoting,用于简化客户端与服务器端的交互。 #### 六、Flex - **Flex**:一种用于构建丰富互联网应用程序的技术,虽然现在不如从前流行,但仍然有一定的应用场景。 #### 七、WebService - ...

    Java框架技术学习笔记

    ### Java框架技术学习笔记 #### 一、框架技术概述 在现代软件开发中,使用框架可以极大地提高开发效率,减少重复工作。对于Java Web开发来说,Struts、Hibernate、Spring和Ajax是四个非常重要的框架。 - **SSH...

    Java框架学习笔记

    ### Java框架学习笔记 #### 第一章:框架技术概述 - **SSH框架组合**:SSH是Struts + Spring + Hibernate的简称,这三个框架在Java Web应用开发中非常常见,它们各自解决了不同的问题,并且能够很好地协同工作。 ...

    Struts_In_Action(中文完整版)

    2. **配置详解**:书中详细阐述了Struts的配置文件(struts-config.xml),包括ActionMapping、FormBeans、ActionForward、PlugIn等核心元素的配置方法,以及如何使用XML来组织应用程序的结构。 3. **动作(Actions...

    struts1.2.9

    Struts 1.2.9 是一个非常重要的Java Web开发框架,由Apache软件基金会开发并维护。这个版本的Struts是Struts 1...通过深入学习和理解Struts 1.2.9,开发者能够更好地理解MVC架构,以及如何在实际项目中应用这些概念。

    Struts In Action中文修正版

    这本书为初学者提供了全面而深入的学习路径,帮助他们理解和掌握如何使用Struts来构建高效、可维护的Java Web应用程序。 Struts是一个开源的MVC(Model-View-Controller)框架,它在Java社区中被广泛使用,用于开发...

    Struts教程

    学习Struts对于Java Web开发者来说是必不可少的,掌握Struts可以帮助你更好地理解和构建MVC架构的Web应用,提高开发效率。通过阅读《Struts教程.doc》,你可以深入理解上述知识点,并逐步成为一名熟练的Struts开发者...

    Struts培训讲义

    Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于构建基于Java的企业级Web应用程序。它引入了MVC(Model-View-Controller...通过深入学习和实践,开发者可以熟练掌握Struts框架,提高Web应用开发效率。

    使用了2年Struts开发项目后的总结

    每个Action对应一个业务逻辑,它接收请求参数,执行相应的操作,并通过ActionForward或Redirect来决定后续的页面跳转。在实际开发中,合理设计Action类和ActionForm(用于封装请求参数)对于提高代码可维护性和复用...

    struts1实例

    在Struts1中集成AJAX,可以借助第三方库如DWR(Direct Web Remoting)或者使用jQuery等JavaScript库发送Ajax请求。例如,使用jQuery的$.ajax()方法: ```javascript $.ajax({ url: 'loginCheck.action', // Struts...

    Java框架面试题总结

    当Web应用程序采用了Struts框架后,在Web应用启动时,Struts框架会初始化并加载配置文件`struts-config.xml`。这个配置文件定义了整个应用的结构,包括各个Action、Form Bean以及它们之间的映射关系。初始化完成后,...

Global site tag (gtag.js) - Google Analytics