锁定老帖子 主题:Struts2讲义23
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-10-12
其它表单标签使用介绍技术要点本节代码具体介绍一些很难分类的表单标签的使用方式。 其它表单标签使用。 其它表单标签功能演示。 演示代码其它表单标签的 JSP 文件: <!-----------------文件名:anotherFormTag.jsp-------------------> <%@ taglib prefix="s" uri="/struts-tags"%> <body> ……… <h3 align="left"> head标签使用范例 </h3> <s:head /> <h3 align="left"> token标签使用范例 </h3> <s:token /> <h3 align="left"> hidden标签使用范例 </h3> <s:hidden name="frank" /> <s:hidden name="frank" value="frank"/> </body>
由于这些标签在页面上看不出实现效果,读者可用鼠标右击,在弹出菜单中选择“查看源文件”选项来查看。具体代码的实现如图 5.26 。
图 5.26 其它表单标签范例图 代码解释( 1 ) head 标签的功能是生成页面文件的 HEAD 部分。但是它和一般的 JSP 、 HTML 页面文件 HEAD 部分又不同。它生成了对 AJAX 框架 dojo 的配置文件的引用或代码。具体都是有关 CSS 和 JavaScript 文件引用或代码。图 5.26 中第一个红框范围内显示内容就是这些文件引用和代码演示。在上一小节中有关日期选择的标签中也着重说明过。请读者仔细体会,有兴趣的读者也可以参考 dojo 的文档资料。 ( 2 ) token 标签的功能是防止重复提交一个表单数据。有时候一些用户会有恶意提交的现象(黑客?),使用该标签就是为了避免这种现象发生。 其实在前面记述拦截器的章节中也介绍过 Struts2 一些缺省的拦截器。该标签就是利用了 TokenInterceptor 或 TokenSessionStoreInterceptor 拦截器。该标签在页面中增加了一个隐藏值,每次提交时候该值应该是不同的,如果上述两个拦截器拦截 HTTP 请求时候发现两次隐藏值相同,则判断有人重复提交同一界面同一表单,拦截器就不允许表单提交。图 5.26 中第二个红框范围内代码也表明了防止重复提交的该原理。 ( 3 ) hidden 标签 的功能是在表单中增加一个隐藏输入的值域。图 5.26 中第三个红框范围内代码表明了两个示例。这两个示例不同之处在于一个 value 属性被赋予特定的值,另一个则没有显式定义 value 属性的值。由代码可知如果没有显式定义 value 属性,则 value 属性默认值为空。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-10-12
token 作为隐藏域放在这,到是没有用过,这个值是如何定义 的?
|
|
返回顶楼 | |
发表时间:2009-10-13
zouzou 写道 token 作为隐藏域放在这,到是没有用过,这个值是如何定义 的?
这个token不好用。其实就是在客户端放一个session值。再将这个session值放在表单隐藏域中提交的后台。比对session和这个通过form提交的值。一致的话就是一次提交。然后清除这个session值。当刷新之后。这两个值就不一样了。所以就是判断这个是重复提交。 |
|
返回顶楼 | |
发表时间:2009-10-14
说说,struts那里比,spring好
|
|
返回顶楼 | |
发表时间:2009-10-14
这都是struts2 自带的标签吗,没用过
|
|
返回顶楼 | |
浏览 3599 次