`
zhangfeilo
  • 浏览: 399726 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

Struts2 <sx:div/>实现页面模块异步刷新

阅读更多
package lee;

import com.opensymphony.xwork2.ActionSupport;

 
public class RandomAction extends ActionSupport
{
 private String data;
 public String getRdmStr()
 {
  String result = Math.round(Math.random() * 10000) + "";
  //返回data和随机字符串连缀而成的字符串
  return data != null && !data.equals("")
                    ? data + result : result;
 }

 public void setData(String data)
 {
  this.data = HTMLDecoder.decode(data);
 }
 public String getData()
 {
   return this.data;
 }
}

 1.sx-div3.jsp-

 

<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>远程div</title>
        <sx:head/>
    </head>
    <script type="text/javascript">
        var controller =
            {
            refresh1 : function(s) {document.getElementsByName("data")[0].value=s; return false;},
            refresh2: function(s) {document.getElementsByName("data")[0].value=s; return false;},
            start : function() {alert("启动自动刷新");},
            stop : function() {alert("停止自动刷新");}
        };
        //将controller的refresh方法注册成/refresh主题的发布者
        dojo.event.topic.registerPublisher("/refresh1"
        , controller, "refresh1");
        dojo.event.topic.registerPublisher("/refresh2"
        , controller, "refresh2");
        dojo.event.topic.registerPublisher("/refresh3"
        , controller, "refresh2");
        //将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)
        {
 
        });
    </script>
    <body>
        <form id="testForm">
            <input type="hidden" name="data"  value='1a'label="输入用户数据"/>
        </form>
        
        <sx:div id="div3"
                cssStyle="border: 1px solid black;background-color:#dddddd;
                width:300px;height:40px;padding-top:8px;padding-left:20px"
                href="newjsp.jsp"
                loadingText="正在加载服务器内容..."
                listenTopics="/refresh3"
                updateFreq="0"
                formId="testForm"
                notifyTopics="/after">
 初始化文本

      
        </sx:div>
        <input type="button" value="停止计时器"
               onclick="controller.stop();" />
        <input type="button" value="启动计时器"
               onclick="controller.start();" />
        <a href="#" onclick="return(confirm( '您将删除当前选中行的纪录,是否继续?'))">ss</a>
        <br/>
        使用pub-sub机制(通过指定listenTopics等属性)<br />
        发送表单请求参数(通过指定formId="form")<br />
        <sx:div id="div1"
                cssStyle="border: 1px solid black;background-color:#dddddd;
                width:300px;height:40px;padding-top:8px;padding-left:20px"
                href="random.action"
                loadingText="正在加载服务器内容..."
                listenTopics="/refresh1"
                updateFreq="0"
                formId="testForm"
                notifyTopics="/after">
 初始化文本
        </sx:div>
        <sx:div id="div2"
                cssStyle="border: 1px solid black;background-color:#dddddd;
 width:300px;height:40px;padding-top:8px;padding-left:20px"
                href="random.action"
                loadingText="正在加载服务器内容..."
                listenTopics="/refresh2"

                updateFreq="0"
                autoStart="true"
                formId="testForm"
                notifyTopics="/after">
 初始化文本
        </sx:div>
    </body>
</html>

 2.newjsp.jsp<%--

 

    Document   : newjsp
    Created on : 2011-4-29, 23:40:18
    Author     : Administrator
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
            <a href="#"
           onclick="return controller.refresh1(<%=Math.round(Math.random() * 10000)%>+'s');" >s</a>
        <a href="#"
           onclick="return controller.refresh2(<%=Math.round(Math.random() * 10000)%>+'a');" >a</a>
    </body>
</html>

 

3.RandomAction.java

 

分享到:
评论
1 楼 sucful 2018-08-14  
折腾了半天跑不通 ,要传就搞个完整的吧

相关推荐

    Struts2中实现页面的跳转

    通过深入理解和正确配置上述元素,你可以有效地在Struts2框架中利用`&lt;jsp:forward/&gt;`标签实现页面的跳转,避免遇到“no found”的问题。同时,也要注意,在现代Web开发中,更多地使用`&lt;s:redirect/&gt;`标签进行重定向...

    Struts2中使用标签实现组合查询和带分页的例子

    在Struts2框架中,`&lt;sx:&gt;`标签是Struts2 XWork库的一部分,用于增强JSP页面的功能,提供更强大的数据绑定和表单处理能力。本篇将重点讲解如何利用`sx:`标签实现组合查询和带分页功能。 首先,让我们了解下Struts2的...

    struts2实现分页

    ### Struts2 实现分页及 `&lt;s:bean&gt;` 标签详解 #### 一、Struts2 分页概述 在 Java Web 开发中,为了提高用户体验并减轻服务器负担,通常采用分页技术来展示数据。Struts2 框架提供了一套强大的工具和标签库来帮助...

    struts2标签库struts2标签库struts2标签库

    例如:&lt;s:select name="favouriteLanguage" list="favouriteLanguages" listKey="key" listValue="description" /&gt;,该标签将生成一个名为“favouriteLanguage”的动态列表框控件,并从Action中获取列表数据。...

    struts2 标签库 帮助文档

    2. &lt;s:include value=""&gt;&lt;/s:include&gt;-----包含一个输出,servlet或jsp页面 3. &lt;s:inputtransferselect list=""&gt;&lt;/s:inputtransferselect&gt;-----获取form的一个输入 4. &lt;s:iterator&gt;&lt;/s:iterator&gt;-----用于遍历集合...

    Strust2的if-else <tr></tr>用法

    此外,Struts2还提供了`&lt;s:if&gt;`和`&lt;s:else&gt;`的嵌套使用,可以实现更复杂的条件判断逻辑。同时,可以使用`&lt;s:choose&gt;`, `&lt;s:when&gt;`, 和 `&lt;s:otherwise&gt;`标签来创建类似于switch-case的结构: ```jsp &lt;s:choose&gt; &lt;s:...

    Struts2标签库

    &lt;div&gt;Will Not Be Executed&lt;/div&gt; &lt;/s:if&gt; &lt;s:elseif test="%{true}"&gt; &lt;div&gt;Will Be Executed&lt;/div&gt; &lt;/s:else&gt; &lt;s:else&gt; &lt;div&gt;Will Not Be Executed&lt;/div&gt; &lt;/s:else&gt; ``` `&lt;s:append&gt;`标签则是用于合并多个迭代...

    Struts2全部标签使用说明

    以上只是Struts2标签库的一部分,实际使用中还有更多标签如`&lt;s:textfield&gt;`(文本输入框)、`&lt;s:textarea&gt;`(文本区域)、`&lt;s:submit&gt;`(提交按钮)等,每个都有其特定的用途,极大地简化了JSP页面的编写。...

    Struts2标签详解及具体实例解析

    2. `&lt;s:include value=""&gt;&lt;/s:include&gt;` - 包含其他Servlet或JSP页面的输出。 3. `&lt;s:inputtransferselect list=""&gt;&lt;/s:inputtransferselect&gt;` - 用于在两个列表间转移选择项。 L部分: 1. `&lt;s:label&gt;` - 创建只读...

    struts2标签大全

    在JSP中,我们通常使用`&lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;`来引入Struts2的标签库。下面将详细介绍一些重要的Struts2标签及其功能。 **A. 超链接和Action标签** - `&lt;s:a href=""&gt;&lt;/s:a&gt;`:创建一个...

    Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)

    在Struts2框架中,开发Web应用时常常需要在JSP页面与Action之间传递数据,以便于展示或者处理。本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`&lt;s:iterator&gt;`标签进行...

    基于struts2和hibernate实现登录和注册功能

    &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/...

    Struts2标签列表及说明

    * &lt;s:autocompleter&gt;:自动完成 &lt;s:combobox&gt; 标签的内容,这个是 AJAX 实现的 B: * &lt;s:bean&gt;:类似于 Struts1.x 中的 JavaBean 的值 C: * &lt;s:checkbox&gt;:复选框 * &lt;s:checkboxlist&gt;:多选框 * &lt;s:combobox&gt;:...

    使用Struts的Action来对数据库进行增、删、改、查四项操作(源码)

    &lt;br/&gt;&lt;br/&gt;Tomcat数据库连接池配置:&lt;br/&gt;Server.xml&lt;br/&gt;增加如下内容:&lt;br/&gt; &lt;Context path="/PaginationStruts" docBase="PaginationStruts" reloadable="true"&gt;&lt;br/&gt; &lt;Resource name="jdbc/Pagination" scope=...

    Struts 1.XX <html:file>的使用

    总结来说,Struts 1.XX `&lt;html:file&gt;`标签是处理Web表单文件上传的一种方式,它简化了在Java Web应用中实现这一功能的过程。通过结合ActionForm、Action类以及Struts配置文件,开发者可以构建出完整的文件上传解决...

    struts2标签库例子

    例如:&lt;s:if test="%{false}"&gt; &lt;div&gt;Will Not Be Executed&lt;/div&gt;&lt;/s:if&gt;&lt;s:elseif test="%{true}"&gt; &lt;div&gt;Will Be Executed&lt;/div&gt;&lt;/s:elseif&gt; 4.1.4 append 标签 append 标签用来将多个 iterator 合并成一个 ...

    taglib(struts2标签).doc

    在 Struts2 中,Taglib(标签库)是用于增强 JSP 页面功能的关键组件,它们提供了一种声明式编程的方式,使得开发者可以更加专注于业务逻辑,而不是底层的 HTML 输出。Taglib 提供了一系列预定义的标签,这些标签...

    struts2标签库解析

    而 `&lt;s:elseif&gt;` 的 `test` 属性值为 `true`,故 `&lt;s:elseif&gt;` 内部的内容会被执行,即 `&lt;div&gt;WillBeExecuted&lt;/div&gt;` 将被渲染到页面上。 ##### 3.1.2 elseIf标签 `&lt;s:elseif&gt;` 标签用于与 `&lt;s:if&gt;` 结合使用,实现...

    jsoup jar包

    b.&lt;decorator:title/&gt;这个标签会找到被装饰页面的title(&lt;title&gt;&lt;/title&gt;标签内)内容填入, &lt;decorator:head/&gt;找到被装饰页面的head(&lt;head&gt;&lt;/head&gt;标签内)内容填入,&lt;decorator:body/&gt;找到被装饰页面的body(&lt;body&gt;&lt;/...

Global site tag (gtag.js) - Google Analytics