课程表

Struts2 教程

Struts2 标签

Struts2 集成

工具箱
速查手册

Struts2 Ajax标签

当前位置:免费教程 » Java相关 » Struts2

Struts使用DOJO框架来实现AJAX标签。首先,执行示例前,你需要将struts2-dojo-plugin-2.2.3.jar添加到类路径。你可以从struts2 下载的lib文件夹中获取这个文件(C:\struts-2.2.3-all\struts-2.2.3\lib\struts2-dojo-plugin-2.2.3.jar)。

对于这个示例,让我们参照以下内容修改HelloWorld.jsp

  1. <%@ page contentType="text/html; charset=UTF-8"%>
  2. <%@ taglib prefix="s" uri="/struts-tags"%>
  3. <%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
  4. <html>
  5. <head>
  6. <title>Hello World</title>
  7. <s:head />
  8. <sx:head />
  9. </head>
  10. <body>
  11. <s:form>
  12. <sx:autocompleter label="Favourite Colour"
  13. list="{'red','green','blue'}" />
  14. <br />
  15. <sx:datetimepicker name="deliverydate" label="Delivery Date"
  16. displayFormat="dd/MM/yyyy" />
  17. <br />
  18. <s:url id="url" value="/hello.action" />
  19. <sx:div href="%{#url}" delay="2000">
  20. Initial Content
  21. </sx:div>
  22. <br/>
  23. <sx:tabbedpanel id="tabContainer">
  24. <sx:div label="Tab 1">Tab 1</sx:div>
  25. <sx:div label="Tab 2">Tab 2</sx:div>
  26. </sx:tabbedpanel>
  27. </s:form>
  28. </body>
  29. </html>

当我们运行上面的例子,将得到以下的输出:

Struts的Ajax标签

现在,让我们一步一步地完成这个例子。

首先要注意的是添加一个带有前缀sx的新标签库。这个(struts-dojo-tags)是为ajax集成专门创建的标签库。

然后在HTML头部内,我们称之为sx:head。这将初始化dojo框架,并使其准备好在页面中被所有AJAX调用。这个步骤很重要,如果没有初始化sx:head,你的ajax调用将无法工作。

首先我们有autocompleter标签。autocompleter标签看起来非常像一个选择框。它使用红色,绿色和蓝色值填充。但选择框和autocompleter标签之间的不同是autocompleter标签自动完成。也就是说,如果你开始在gr中输入,它将填充“绿色”。除此之外,这个标签非常类似于我们前面介绍的s:select标签。

接下来,我们有一个日期时间选择器。此标标签创建一个旁边带有按钮的输入字段。当按下按钮时,显示弹出日期时间选择器。当用户选择日期时,日期以在tag属性中指定的格式填充到输入文本中。在我们的示例中,我们指定了dd/MM/yyyy作为日期的格式。

接下来,是我们在之前的示例中为system.action文件创建的一个url标签。它不必是system.action,它可以是之前创建的任何action文件。然后我们有一个div,超链接设置为url,延迟设置为2秒。当你运行时会发生什么,“Initial Content”将显示2秒,然后div的内容将替换为hello.action执行的内容。

最后,我们有一个简单的标签面板,有两个标签。选项卡将其标签标记为Tab1和Tab2。

值得注意的是,Struts中的AJAX标签集成仍然是一项进展,并且此集成的成熟度在每个版本中都在缓慢增长。

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号