Struts 2 Ajax标签


Struts使用DOJO框架来实现AJAX标签。首先,继续这个例子,你需要将struts2-dojo-plugin-2.2.3.jar添加到你的类路径中。

你可以从你的struts2下载的lib文件夹中获得这个文件(C:\ struts-2.2.3all \ struts-2.2.3 \ lib \ struts2-dojo-plugin-2.2.3.jar)

对于这种情况,让我们修改 HelloWorld.jsp ,如下所示 -

<%@ page contentType = "text/html; charset = UTF-8"%>
<%@ taglib prefix = "s" uri = "/struts-tags"%>
<%@ taglib prefix = "sx" uri = "/struts-dojo-tags"%>

<html>
   <head>
      <title>Hello World</title>
      <s:head />
      <sx:head />
   </head>

   <body>
      <s:form>
         <sx:autocompleter label = "Favourite Colour"
            list = "{'red','green','blue'}" />
         <br />
         <sx:datetimepicker name = "deliverydate" label = "Delivery Date"
            displayformat = "dd/MM/yyyy" />
         <br />
         <s:url id = "url" value = "/hello.action" />
         <sx:div href="%{#url}" delay="2000">
            Initial Content
         </sx:div>
         <br/>
         <sx:tabbedpanel id = "tabContainer">
            <sx:div label = "Tab 1">Tab 1</sx:div>
            <sx:div label = "Tab 2">Tab 2</sx:div>
         </sx:tabbedpanel>
      </s:form>
   </body>
</html>

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

Struts Ajax标签

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

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

然后在HTML头部我们称之为sx:head。这会初始化dojo框架,并为网页中的所有AJAX调用做好准备。这一步很重要 - 如果没有初始化sx:头,您的ajax调用将不起作用。

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

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

接下来,我们为早先练习中创建的system.action文件创建一个url标记。它不一定是system.action - 它可以是您之前创建的任何操作文件。然后我们有一个div,超链接设置为url,延迟设置为2秒。运行时发生的情况是,“初始内容”将显示2秒,然后div的内容将替换为 hello.action 执行的内容。

最后我们有一个带有两个选项卡的简单标签面板。这些标签是它们与标签Tab 1和Tab 2的标签。

值得注意的是,Struts中的AJAX标签集成仍在进行中,随着每个版本的发布,此集成的成熟度正在逐渐增加。