0

0

学习Jakarta Struts 1.1 (二)

黄舟

黄舟

发布时间:2016-12-17 10:46:51

|

1385人浏览过

|

来源于php中文网

原创


  dynaactionform
  
   dynaactionform提供了一种方便的机制,从根本上消除了编写actionform的需要。dynaactionform可答应动态的表单属性。这意味着你能够在你的struts-config.xml文件中定义属性并且将表单类型设置为org.apache.struts.action.dynaactionform。什么都不需要写。dynaactionform使用apache公共项目中的dynabean完成这些操作。这一动态的行为是通过反射(reflection)与哈希图(hashmaps)提供的。
  
    dynaactionform是在struts-config.xml文件中使用与标记定义的,如下所示:
  
    
    
    
   
  
  动态表单的属性与标准的actionform的属性类似。属性name是用于索引action中的表单bean,并且type用于指定实例化的类。当使用类dynaactionform时,的动态属性自动默认为真(true)。对于dynaactionform,要用元素指定表单的所有属性。元素中的name是指属性名称。type是指bean属性用java的实现类的类名。假如这个属性是索引类型的,可在type后添加“[ ]”。在上表中,你应该注重最后一个属性genre的定义,我们设置了初始值(或叫 默认值)为“dance”。这个值也会在dynaactionform中reset()方法被调用时被作为默认值设置,并答应在表单中设置默认值的机制。假如在initial属性中没有指定任何值,那么所有原始类型的初值被设置为0,假如是对象则初值为null(空)。
  
  使用dynaactionform非常方便,主要的一个好处就是你只需写非常少的代码。就像其他表单一样,前面的代码例子是使用表单所需的全部代码。需要知道的一件事就是验证。当使用dynaactionform时,假定在某处进行了验证处理,这与actionform有些不同。你可以在自己的action中实现验证,但这是一个更好的方法。
  
  进行验证,可用dynavalidatorform或者dynavalidatoractionform,这两个类都在org.apache.struts.validator package包中。通过扩展dynaactionform,可以得到基于xml文件的基本值域的验证。验证是基于输入验证器的key。key是来自于struts-config.xml文件的name属性。它应当与validation.xml文件中的表单元素的name属性匹配。
  
  多应用支持
  在struts 1.1中可以定义和支持多重的子应用。这意味着你能将你的应用放在更易维护的子应用中。你不再需要在唯一的struts-config.xml文件之外检测来源控制。
  
  另一个使用子应用的原因是根据客户而改变的控制流。在某些应用中,你可能有一些通用的页面,但是控制流也许会由于登陆应用的客户的不同而有所改变。你能把这个控制流的元数据存入数据库并生成web.xml文件(或该文件中的一部分),与不同的struts-config.xml文件一起。
  
  假如你曾对struts 1.x进行过开发,你可能注重到了许多web.xml文件中的元素已经移到了struts 1.1的struts-config.xml文件中。这是因为现在他们是应用特定(application-specific)的。多重的子应用通过在请求uri的相对于上下文部分开始的前缀来确定。假如没有应用前缀能够匹配,则选择默认配置。默认设置拥有一个空字符串的前缀。执行默认设置的这种方式对可能只定义一个应用的struts 1.0.x是向后兼容的。
  
  假如你拥有一个包含不同功能模块的大型应用,那么用协同运行的子应用代替一个巨大的应用会更有意义。下面所示的文件web.xml显示了如何定义子应用。
  
  
    config
    /web-inf/struts-config.xml
  
  
  
  
    
    config/catalog
    /web-inf/struts-config-catalog.xml
  
  
  
  
    
    config/sorter 
    /web-inf/struts-config-sorter.xml
   
  
  
  当使用子应用时,你可能定义上下文相关的请求uri来指定使用哪一个子应用。例如,对表单的动作可能如下所示:
  
  
  引用了默认的子应用,或
  
  
  引用catalog子应用的动作类。实际上你不必这么做。你可以在catalog子应用中用/listcds假如你想这么做。基本规则是:所有在1.0版本中上下文相关的struts-config.xml参数现在在1.1版本中是子应用前缀相关的。这样,在没有修改的情况下一个单一的应用既可以作为默认子应用也可作为指定的子应用。 

 以上就是学习Jakarta Struts 1.1 (二)的内容,更多相关文章请关注PHP中文网(www.php.cn)! 

MCP官网
MCP官网

Model Context Protocol(模型上下文协议)

下载

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

65

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

43

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

35

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

41

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

204

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

9

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

8

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ThinkPHP开发大型商城项目实战视频
ThinkPHP开发大型商城项目实战视频

共54课时 | 21.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号