您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 使用Struts Dojo插件
使用StrutsDojo插件要想使用这个插件里的标签,你必须按照以下步骤进行。(1)把下面这条taglib指令添加到JSP页面的顶部:%@taglibprefix=sxuri=/struts-dojo-tags%(2)把StrutsDojo插件复制到你的WEB-INF/lib子目录里。这个插件已被收录在本书的lib子目录里。(3)在每个页面的顶部写出head标签。现在,让我们一起去看看StrutsDojo插件里的标签。27.4head标签head标签将被呈现为用来下载Dojo文件和配置Dojo本身的JavaScript代码。使用了其他Dojo标签的每一个JSP页面都必须包含这个标签。表27-1列出了head标签的属性。表27-1head标签的属性名字数据类型默认值说明baseRelativePathString/struts/dojoDojo插件的安装路径cachebooleantrue是否让浏览器缓存Dojo文件compressedbooleantrue是否使用Dojo文件的压缩版本debugbooleanfalse是否使用Dojo的调试模式extraLocalesStringDojo使用的其他地理时区的清单,以逗号作为分隔符localeString覆盖Dojo的默认地理时区设置parseContentbooleanfalse在寻找组件(widget)时是否分析整个文档compressed属性(默认值是true)用来表明是否使用Dojo文件的压缩版本。使用压缩版本可以节省加载时间,但生成的代码比较难以阅读。如果是在开发模式下,建议大家把这个属性设置为false,这样比较便于你阅读本章讨论的标签所呈现出来的代码。在开发模式下,你还应该把debug属性设置为true,把cache属性设置为false。把debug属性设置为true将使得Dojo把警告消息和出错消息显示在页面的底部。综上所述,你在开发模式下使用的head标签应该是下面这样:sx:headdebug=truecache=flasecompressed=false/在正式发布的应用程序里,head标签应该是下面这样:sx:head/27.5div标签这个标签将被呈现为一个可以动态地加载Web内容的HTMLdiv元素。用这个标签呈现出来的div元素还有一个内部计时器,其用途是让div元素每隔一段给定的时间就重新加载一次它的内容。使用div标签无需编程就可以实现一个滚动广告区。这个标签的属性列在表27-2里。表27-2div标签的属性名字数据类型默认值说明afterNotifyTopicsString将在请求之后(如果请求成功的话)发表的话题清单;话题之间使用逗号作为分隔符autoStartbooleantrue是否自动启用计时器beforeNotifyTopicsString将在请求之前发表的话题清单,话题之间使用逗号作为分隔符closablebooleanfalse当把div标签放在一个选项卡式的面板元素里时,是否显示一个Close按钮delayinteger在获取动态Web内容之前等待的毫秒数errorNotifyTopicsString将在请求之后(如果请求失败的话)发表的话题清单,话题之间使用逗号作为分隔符errorTextString在请求失败时显示的出错消息的文本executeScriptsbooleanfalse是否执行动态Web内容里的JavaScript代码formFilterString用来过滤表单字段的函数formIdString其字段将被传递为请求参数的表单的标识符handlerString用来对请求进行处理的JavaScript函数highlightColorString用来对targets属性所指定元素进行突出显示的颜色highlightDurationinteger2000对targets属性所指定元素进行突出显示的持续时间(以毫秒为单位)。这个属性只在highlightColor属性有一个值时才起作用hrefString用来获取动态Web内容的URLindicatorString服务器正在对请求进行处理时显示的元素的标识符javascriptTooltipbooleanfalse是否使用JavaScript来生成浮动提示框listenTopicsString将触发远程调用的话题loadingTextStringLoading...正在加载Web内容时显示的提示消息的文本notifyTopicsString在请求之前和之后以及在发生错误时将发表的话题的清单,话题之间使用逗号作为分隔符openTemplateString用来打开被呈现HTML文件的模板parseContentbooleantrue是否分析返回的动态Web内容以寻找组件preloadbooleantrue是否在加载页面的同时加载动态Web内容refreshOnShowbooleanfalse是否要在div元素变得可见时加载动态Web内容。这个属性只在div标签在一个tabbedpanel元素里时才起作用separateScriptsbooleantrue是否要为每个标签单独创建一个范围来运行脚本代码showErrorTransportTextbooleantrue是否显示出错消息(续)名字数据类型默认值说明showLoadingTextbooleanfalse是否在加载动态Web内容时在目标区域显示“正在加载”消息startTimerListenTopicsString将启动计时器工作的话题stopTimerListenTopicsString将停止计时器工作的话题transportStringXMLHttpTra-nsport用来传递相关请求的传输对象updateFreqinteger动态内容的刷新频率(以毫秒为单位)div标签还继承了本书第5章列出的所有标签都有的共同属性。我们为这个标签准备了3个例子。27.5.1示例程序1代码清单27-1里的Div1.jsp页面使用了一个div标签来每隔3秒自动刷新一次。href属性指定返回动态Web内容的服务器位置,updateFreq属性指定以毫秒为单位的刷新频率。因为autoStart属性的默认值是true,所以内部计时器将自动启动。代码清单27-1Div1.jsp页面这个标签有一个很有意思的功能,它能以指定颜色突出显示被呈现出来的div元素,然后逐渐消退。你可以使用它的highlightColor属性来指定突出显示的颜色。27.5.3示例程序3代码清单27-3给出的Div3.jsp页面演示了如何使用div标签来发表一个话题。代码清单27-3Div3.jsp页面这个div标签的内部计时器被设置成每隔两秒关闭一次,在每次关闭其内部计时器时,这个标签将发表一个updateCounter话题,而这个话题又被赋值给了它的afterNotifyTopics属性。我们还使用了Dojo插件的subscribe方法来订阅这个话题,让某个特定的函数在这个div标签每次发表这个话题时运行。与updateCounter话题相关联的那个函数将增加一个计数器并改变第二个div标签的内容。27.6a标签a标签将被呈现为一个HTML页面链接,点击这个链接将发出一个Ajax请求。这个标签的target属性用来指定一个元素(通常是一个div元素)来显示相关的Ajax响应。如果嵌套在某个表单的内部,这个标签将在用户点击该链接时提交该表单。表27-3列出了a标签的属性。表27-3a标签的属性名字数据类型默认值说明afterNotifyTopicsString将在请求之后(如果请求成功的话)发表的话题清单,话题之间使用逗号作为分隔符ajaxAfterValidationbooleanfalse如果验证成功,是否发出一个异步请求。这个属性只在validation属性被设置为true时才起作用beforeNotifyTopicsString将在请求之前发表的话题清单,话题之间使用逗号作为分隔符errorNotifyTopicsString将在请求之后(如果请求失败的话)发表的话题清单,话题之间使用逗号作为分隔符errorTextString在请求失败时显示的出错消息的文本executeScriptsbooleanfalse是否执行动态Web内容里的JavaScript代码formFilterString用来过滤表单字段的函数formIdString其字段将被传递为请求参数的表单的标识符handlerString用来对请求进行处理的JavaScript函数highlightColorString用来对targes属性所指定的元素进行突出显示的颜色(续)名字数据类型默认值说明highlightDurationinteger2000对targets属性所指定的元素进行突出显示的持续时间(以毫秒为单位)。这个属性只在highlightColor属性有一个值时才起作用hrefString用来提取动态Web内容的URLindicatorString服务器正在对请求进行处理时显示的元素的标识符javascriptTooltipbooleanfalse是否使用JavaScript来生成浮动提示框listenTopicsString将触发远程调用的话题loadingTextStringLoading...正在加载Web内容时显示的提示消息的文本notifyTopicsString在请求之前和之后以及在发生错误时将发表的话题的清单,话题之间使用逗号作为分隔符openTemplateString用来打开被呈现的HTML文件的模板parseContentbooleantrue是否分析返回的动态Web内容以寻找部件separateScriptsbooleantrue是否要为每个标签单独创建一个范围来运行脚本代码showErrorTransportTextbooleantrue是否显示出错消息showLoadingTextbooleanfalse是否在加载动态Web内容时在目标区域显示“正在加载”消息targetsString其内容将被刷新的元素清单;元素之间使用逗号作为分隔符transportStringXMLHttpTransport用来传递相关请求的传输对象validatebooleanfalse是否进行Ajax验证a标签还继承了本书第5章列出的所有标签都有的共同属性。例如,代码清单27-4里的A.jsp页面使用了一个a标签来填充div元素div1和div2。代码清单27-4A.jsp页面27.7submit标签submit标签将呈现为一个能够以异步方式提交一个表单的提交按钮。这个标签有3种呈现类型可供选择,程序员只需把相应的值赋给它的type属性即可。这3种渲染类型如下所示。input:把submit标签渲染为inputtype=submit.../button:把submit标签渲染为buttontype=submit.../image:把submit标签渲染为inputtype=image.../类似于a标签,submit标签也有一个target属性,其用途是给出将用来显示表单处理结果的元素。submit标签的属性如表27-4所示。此外,submit标签还继承了本书第5章列出的所有标签都有的共同属性。表27-4submit标签的属性名字数据类型默认值说明afterNotifyTopicsString将在请求之后(如果请求成功的话)发表的话题清单,话题之间使用逗号作为分隔符ajaxAfterValidationbooleanfalse如果验证成功,是否发出一个异步请求。这个属性只在validation属性被设置为true时才起作用beforeNotifyTopicsString将在请求之前发表的话题清单,话题之间使用逗号作为分隔符errorNotifyTopicsString将在请求之后(如果请求失败的话)发表的话题清单,话题之间使用逗号作为分隔符er
本文标题:使用Struts Dojo插件
链接地址:https://www.777doc.com/doc-4211526 .html