struts使用dojo框架的 ajax标记实现。首先,这个例子中,你需要添加 struts2-dojo-plugin-2.2.3.jar。你可以得到这个文件的lib文件夹struts2的下载 (c:struts-2.2.3-allstruts-2.2.3libstruts2-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>
当我们运行上面的例子中,我们可以得到下面的输出:
现在让我们通过这个例子一步来。
首先要注意的是另外一个新的标签库前缀 sx. (struts-dojo-tags)是专门创建的标记库的ajax集成。
然后在html头,我们称之为sx:head。这将初始化dojo框架,使得它准备为所有的ajax调用内页。这一步很重要 - ,没有sx:head初始化ajax调用不会起作用。
首先,我们有自动完成标签。自动完成标签看起来很像一个选择框。它填充了红色,绿色和蓝色的值。但之间的一个选择框而这一次不同的是,它自动完成。也就是说,如果开始键入gr,这将填补它为“green”。除此之外,这个标签是非常相似s:select标签,我们前面介绍。
接下来,我们有一个日期时间选择器。这个标签创建一个输入栏旁边的一个按钮。当按下按钮时,弹出一个显示日期和时间选择器。当用户选择的日期,该日期将填充到输入文本标记属性中所指定的格式。在我们的例子中,我们指定dd/mm/yyyy 日期格式。
接下来我们创建一个url标记的system.action在前面的练习中,我们创建的文件。它并不一定要的system.action - 它可以是任何行动您之前创建的文件。然后我们有一个div设置超链接的url和延迟设置为2秒钟。会发生什么事而言,"initial content"将显示2秒钟,然后div的内容将被替换的内容从hello.action执行。
最后,我们有一个简单的选项卡面板有两个选项卡。标签的div标签“选项卡1和tab2。
慢慢地随着每一个版本,它应该是值得注意的ajax标签集成struts,仍然是一个工作的进步和成熟整合。