`
qwex9iao
  • 浏览: 176757 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

s:div的使用(局部刷新)

阅读更多
在div标签 中指定了一个handler属性,该属性指向一个JavaScript函数。这意味着每次是该Div内容刷新时,该JavaScript函数都会被调用。一旦div标签指定了handler属性,则该div标签的herf属性所指定的属性值将完全失去作用。
除此之外, div标签还可以将一个表单里包含的表单域转换成对应的请求参数,并且把这些请求参数发送给远程服务器。为了让一个div标签发送表单里包含的表单域,属性如下:
(5) formId: 该属性的属性值为一个表单元素的ID
除此之外,为了通过在JavaScript代码中手动控制div标签启动自动更新,关闭自动更新,可以指定以下两个属性:
(6) startTimerListenTopics: 该属性设置一个监听的事件主题,当有Struts2组件向该主题发布事件时,该div标签的计时器被启动。
(7) stopTimerListenTopics: 该属性设置一个监听的事件主题,当有Struts2组件向该主题发布事件时,该div标签的计时器被关闭。
P391的一个例子,示范了上面三个属性的用法。

<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>远程Div</title>
    <s:head theme="ajax"/>
</head>
<script>
var controller = {
   refresh : function() {alert("手动刷新");},
   start : function() {alert("启动自动刷新");},
   stop : function() {alert("停止自动刷新");}
};

//将controller的refresh方法注册成/refresh主题的发布者
dojo.event.topic.registerPublisher("/refresh", controller, "refresh");
//将controller的start方法注册成/startTimer主题的发布者
dojo.event.topic.registerPublisher("/startTimer", controller, "start");
//将controller的stop方法注册成/stopTimer主题的发布者
dojo.event.topic.registerPublisher("/stopTimer", controller, "stop");
//为after主题指定一个事件处理函数
    dojo.event.topic.subscribe("/after", function(data, type, e){
   alert('与服务器交互过程中. 现在的过程类型是:' + type);
   //data : text returned
   //type : "before", "load" or "error"
   //e    : request object
    });
</script>
<body>
<form id="form">
<s:textfield name="data" label="输入框"/>
</form>

<input type="button" value="手动刷新" onclick="controller.refresh()">
<input type="button" value="停止计时器" onclick="controller.stop()">
<input type="button" value="启动计时器" onclick="controller.start()">
<br>
<s:url id="rd" value="/random.action"/>
使用pub-sub机制(通过指定listenTopics等属性)<br>
发送表单请求参数(通过指定formId="form")<br>
<s:div id="div1"
        theme="ajax"
        cssStyle="border: 1px solid black;background-color:#dddddd;
    width:300px;height:40px;padding-top:8px;padding-left:20px"
        href="%{rd}"
   loadingText="正在加载服务器内容..."
  listenTopics="/refresh"            //加载服务器响应
   startTimerListenTopics="/startTimer"     //当有startTimer事件发布时启动计数器
   stopTimerListenTopics="/stopTimer"     //当有stopTimer事件发布是停止计数器
   updateFreq="9000"
  autoStart="true"                         //加载此页面时自动启动计数器
  formId="form"        //指定表单的ID
  notifyTopics="/after">        //指定主题名为after,其它的事件都会发布到此主题下
初始化文本
</s:div>
</body>
</html>
分享到:
评论

相关推荐

    A part Of Struts2 Ajax Basic Tag Explain

    其中,Ajax Basic Tag作为Struts2框架中的一个重要组成部分,通过将Ajax技术与传统的表单元素相结合,实现了页面局部刷新等功能,大大提升了用户体验。本文将详细介绍Struts2框架中部分Ajax Basic Tag的用法及应用...

    struts相关资料

    - `&lt;sx:div&gt;`:通过Ajax加载内容,实现局部刷新。 - `&lt;sx:submit&gt;`:使用Ajax更新元素内容或提交表单。 - `&lt;sx:tabbedPanel&gt;`:创建标签面板,内容由&lt;s:div&gt;提供。 - `&lt;sx:autocompleter&gt;`:提供输入建议或自动...

    南方CASS7.0快捷键的用运.doc

    南方 CASS7.0 快捷键的使用 南方 CASS7.0 是一种计算机辅助设计(CAD)软件,使用快捷键可以提高设计效率和工作效率。在南方 CASS7.0 中,有很多快捷键可以帮助用户快速完成设计任务。下面是南方 CASS7.0 中的一些...

    xmlhttp无刷新

    - 这里进一步强调了使用`XMLHttpRequest`对象实现页面局部刷新的技术。 ### 部分内容分析 #### 后端代码(b.aspx) 该部分展示了ASP.NET后端代码如何响应来自前端的异步请求,并处理数据: - **定义**:这部分代码...

    struts2中核心知识点(职场必备)

    - `&lt;sx:div&gt;`:创建一个可通过AJAX局部刷新的div区域。 - `&lt;sx:submit&gt;`:使用AJAX更新元素或提交表单。 - `&lt;sx:tree&gt;`:创建支持AJAX的树形组件。 6. **常见的拦截器及其作用**: - `i18n`:处理国际化显示。 ...

    AutoCAD快捷键汇总

    - DIV 或 *DIVIDE:等分线段或圆 - H 或 *BHATCH:填充图案 2. 修改命令: - CO 或 *COPY:复制对象 - MI 或 *MIRROR:镜像对象 - AR 或 *ARRAY:创建阵列 - O 或 *OFFSET:偏移对象 - RO 或 *ROTATE:旋转...

    jsp+ajax自动刷新实例

    通过本示例的学习,我们可以了解到如何使用JSP与AJAX结合实现页面的局部刷新。这种技术的应用可以显著提高Web应用的用户体验,特别是在频繁更新数据的情况下更为有效。开发者可以根据具体需求调整和扩展上述代码,以...

    java简历模版

    - **数据库设计**:使用Visio作为辅助设计工具,为业务逻辑实现提供详细参考。 - **个人职责**:担任小组组长,负责项目需求分析、数据库设计及前端Flex模块开发。 ##### 2. 街舞网站介绍(IDK街舞网) - **时间**...

    8023商城源码 1.0

    5.大量运用AJAX实现局部刷新,提高用户体验 6.外接支付宝接口 7.QQ漂浮咨询窗口 8.上传图片自动缩小 9.上传图片自动加水印 10.三层架构 11.后台实现标题,关键字的全局修改。 后台登陆用户名和密码都是...

    Net工程师(有工作经验的简历)简历模板.doc

    - **无刷新提交**:利用AJAX技术实现前端页面局部更新。 - **个人贡献**:负责后端代码编写。 #### 三、个人技能 - **技术能力**: - **B/S与C/S开发**:熟练运用Winform、ASP.NET、Ajax、WebService等技术进行...

    jQuery实现的类似于手机微信底部菜单效果源码.zip

    在本资源中,我们主要探讨的是如何使用...同时,根据需求,你还可以扩展此基础实现更复杂的功能,如导航菜单的动画效果、页面的局部刷新等。在项目中,记得参考提供的"使用须知.txt"文件,了解具体使用方法和注意事项。

    html5实习心得.doc

    5. **框架与层(div)**:框架(frameset和frame)用于页面的分隔和局部刷新,而div元素则作为布局工具,配合CSS实现灵活的网页布局。div加上表格,可以创建复杂的网页结构。 6. **Dreamweaver**:这款可视化编辑...

    天正建筑常用快捷键.doc

    - `DIV` 或 `*DIVIDE`: 对线条、圆等进行等分,方便测量或绘制网格。 2. **修改命令**: - `CO` 或 `*COPY`: 复制对象,用于创建相同形状的图形。 - `MI` 或 `*MIRROR`: 镜像对象,实现对称图形的快速绘制。 - ...

    CAD中标注快捷键大全.pdf

    在CAD(计算机辅助设计)软件中,快捷键的使用能够极大地提高工作效率,特别是对于频繁使用的绘图和修改命令。这份“CAD中标注快捷键大全.pdf”资料提供了全面的CAD快捷键列表,涵盖从基本的绘图到复杂的编辑,再到...

    cass常用命令.pdf

    - 绘图命令,如PO、L、XL、PL、ML、SPL、POL、REC、C、A、DO、EL、REG、MT、T、B、I、W、DIV、H、REG等,用于绘制和编辑几何图形。 - 修改命令,如CO、MI、AR、O、RO、M、E、X、TR、EX、S、LEN、SC、BR、CHA、F、...

    南方cass快捷键命令大全.doc

    5. COPYCLIP - 从不同窗口复制局部:跨窗口复制图形的一部分。 6. CP - 拷贝(COPY):复制选定的对象。 7. D - 绘制电力线:绘制特定的电力线路图形。 8. DD - 通用绘图命令:一系列用于绘制图形的通用命令。 9. ...

    一些常用的CAD使用技巧

    - **R,*REDRAW**:重新生成,用于刷新屏幕显示,确保所有修改都被正确显示出来。 - **REN,*RENAME**:重命名,用于更改图层、块等对象的名称。 - **SN,*SNAP**:捕捉栅格,用于设置栅格捕捉的间距。 - **DS,*...

    AI快捷键 CAD快捷键.docx

    根据提供的文档内容,本文将详细解析AutoCAD与Adobe Illustrator(简称AI)软件中的快捷键及相关功能,以便用户能够更高效地使用这些工具。 ### AutoCAD 快捷键及功能介绍 #### 对象特性 - **ADC,*ADCENTER**:...

    cad资料,相关的快捷键

    13. `DIV` (*DIVIDE*):等分线段或圆弧。 14. `H` (*BHATCH*):填充图案。 15. `DO` (*DONUT*):绘制填充的圆和环。 16. `POL` (*POLYGON*):绘制正多边形。 17. `REG` (*REGION*):将多个对象合并为一个面域。 18. ...

    webgame开发简明教程(经典)

    - **AJAX**:异步JavaScript和XML的缩写,可以实现局部刷新页面,提升用户体验。 - **JavaScript**:实现前端复杂逻辑的关键技术,可以通过各种库或框架来增强功能性和可维护性。 - **后端技术**: - **PHP+MySQL...

Global site tag (gtag.js) - Google Analytics