Struts视图组件.doc_第1页
Struts视图组件.doc_第2页
Struts视图组件.doc_第3页
Struts视图组件.doc_第4页
Struts视图组件.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ITjob就业培训第三章Struts 视图组件在普通的JavaWeb中,我们使用jsp来作为视图,同样在Struts中,我们依然使用的jsp作为部分,但是却不是只通过jsp页面来表示,而是通过jsp和表单Bean的集成来实现视图部分。l 本章目标n 了解Struts视图组件n HTML标签库的使用u 了解HTML标签和标准HTML语言的对应关系u 表单和表单Bean的对应关系n 掌握Struts bean标签的使用n 掌握Struts logic 标签的使用l Struts视图组件视图组件表示模型在用户界面中的显示。同一模型可以有许多不同的视图。视图是向客户端显示的一个窗口,从中可以查看模型的状态。Struts框架中的视图主要由JSP页面构成,JSP页面是Struts应用用来实施视图的重要组件,也可以与其他组件联合使用。l Struts标签HTML标签库n 标签此标签用来生成一个把语言环境设置为当前用户环境的HTML标记,而且通过设置此标记的属性可以把其他的标记以xhtml或其他非html标记格式输出。例如:n 标签用于生成一个HTML表单,该表单与Action对象,以及Struts-config.xml文件中的相应的formbean相关联,当其内部有其他标记时,对应的formbean用属性来填充对应的标记内容。常见属性:action用来对应struts-config.xml中定义的action的逻辑名method提交数据的方法focus指定初始光标对应哪个表单元素例如:n 标签用于产生一个标记此标记的property属性用来,查找与form对应的formbean,并调用对应的property属性指定的字段值来填充此标签的控件的内容。n 标签用于产生一个 标签此标记的property属性用来,查找与form对应的formbean,并调用对应的property属性指定的字段值来填充此标签的控件的内容。n 标签用于产生一个标签。n 标签用于产生一个标签。n 标签此标签用于显示请求范围内作为org.apche.struts.action.ActionErrors对象、String或String数组存储的一系列错误信息。此标签的property属性用来只显示和property相关的错误信息JSP for LoginForm form  username : password : public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) / TODO Auto-generated method stubActionErrors errors=new ActionErrors();if(username.length()=0|username.equals(guest)errors.add(username, new ActionMessage(username.err);if(password.length()3)errors.add(password, new ActionMessage(password.err);return errors;l Struts标签bean标签JSP 开发之中的要求,程序中尽可能少的出现的Scriptlet 代码。主要是因为可维护性相对较好。提供了大量的自定义的标签库,通过标签库可以简化JSP 的页面代码开发。Bean 标签:主要与JavaBean 有关回顾:只要是通过标签设置的对象,则自动将对象保存在一个固定的范围之中,由scope 指定一般对象都使用“id”进行表示如果要使用对象,在标签通过“name”属性完成的。Bean 标签在Struts 中提供了一系列的与JavaBean 有关的操作标签,称为Bean 标签。n 标签(类似于JSTL标签中的)定义或复制一个对象的定义对象一般为String 类型。复制对象 迭代标签$str如果可以通过EL 进行访问,则表示“str”保存在了四种属性范围之中,等同与下面的语句:String str = Hello Itjob Students ;pageContext.setAttribute(str,str) ;如果不使用EL 该如何输出呢?通过Struts 中的进行打印 beanDemo1.jsp $str bean:write输出 强调: id:就表示一个存放在四种属性范围之中的变量名称 name:表示使用一个存放在四种属性范围中的对象n 标签求出长度:数组、Collection、Map标签肯定数据存放在四种属性范围之中。求长度的时候,即可以是Map 也可以是Collection,但是对于JSP 调用代码是不变的。输出Map的长度: beanDemo2.jsp 集合的长度为:$len 输出Collection的长度 beanDemo2.jsp 集合的长度为:$len n 标签(类似于JSTL标签中的)打印对象,也可以打印对象中的属性。在JSP 2.0 中可以使用EL 代替Struts 中的标签 beanDemo2.jsp 使用bean:write标签 使用EL表达式 $lf.username $lf.password 与JSP标准动作一起使用 beanDemo5.jsp 使用bean:write标签 使用EL表达式 $lf.username $lf.password 结论:只要是标签,在程序开发中就可以互相调用,所有的标签基本上都是对四种属性范围的操作n 标签需要解决一个问题?例如以下一种情况:有一套程序,此程序完成之后要同时供7 个国家的用户访问,那么该怎么做? 针对每一个国家的语言完成一套代码 将所有国家的语言单独保存在一个文件中,用户使用程序会根据自己的国家自动选择出语言,而程序代码只有一套。(推荐)Struts 国际化?所有的内容通过输出,之后所有的语言,单独形成一个*.properties 文件。根据浏览器的不同,显示的语言也不同,因为所有显示的内容在*.properties 中已经完成的配置了。ApplicationRperties:显示中文wellcome=wellcom to our websiteApplicationResources_en_US.properties:显示英语wellcome=u5149u8fceu5149u4e34u672cu7f51u7ad9会根据浏览器的不同,自动进行语言的显示,自动去调用相应的属性文件 beanDemo6.jsp 在标签中提供了一个占位功能,在输出的文件中占着一位,这一位的数据等待标签填写。ApplicationRperties:显示中文wellcome=u5149u8fce0u5149u4e34u672cu7f51u7ad9占位输出 beanDemo7.jsp l Struts标签logic标签Logic 标签是做逻辑判断以下几个标签为logic 标签的重点总结:JSP 主要会包括以下功能: 使用输出语句,输出Bean 中的内容 使用逻辑判断 使用迭代操作再次强调:所谓的标签库编程就是进行四种属性的操作。PageContext、request、session、applicationn 、判断是否有指定属性存在/不存在指定范围之中如果不指定范围,则表示要进行全面的查找,依次按照属性范围进行查找。 LogicDemo01.jsp 指定的属性存在,内容为:$name 指定的属性不存在 指定的属性存在,内容为:$password 指定的属性不存在 n =、=、,逻辑判断 =: !=: LogicDemo01.jsp 语句满足条件,内容是$uname 语句不满足条件,内容不是$uname =: =: : : LogicDemo01.jsp 内容为1! 内容不为1! 内容大于0! 内容大于等于1! 内容小于2! 内容小于等于1! 属性: name:指定的属性名称 scope:指定的属性范围注意:使用此种逻辑标签最大的好处是可以简单的进行各种类型的判断,字符串、数值、字符、布尔n 迭代标签使用此标签可以输出三种类型的数据: 对象数组 Collection 集合(单值) LogicDemo04.jsp $str LogicDemo05.jsp $str Map 集合(二元偶对象) LogicDemo01.jsp Set - Iterator - Map.Entry - key、value*/Map m = new HashMap() ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论