Struts 2下的helloword(5)

2019-04-08 18:57

图2.5 在JSP页面中输出Action的返回信息 2.6 改进视图组件 通过前面的几节的介绍,我们已经明白了Struts 2 MVC框架的基本数据流,已经完成了Struts 2应用中模型、控制器、视图3个组件的开发。但应用中的视图组件:JSP页面非常丑陋,特别是输出Action返回信息的JSP页面,使用了大量的Java脚本来控制输出,下面将会使用Struts 2的标签来改善整个应用视图组件。 2.6.1 改善输出页面 为了控制输出Struts 2的ValueStack中封装的值,Struts 2提供了大量的标签。其中比较常用的标签有: — if:该标签支持标签体,如果if标签里判断的表达式返回真,则输出标签体内容。 — else:该标签不能独立使用,它需要与if标签结合使用,如果if标签内判断的表达式返回假,则输出该标签里的标签体。 — iterator:主要用于迭代输出某个集合属性的各个集合元素。 — property:该标签用于输出指定属性值。 关于Struts 2标签库更深入的使用,第10章还会深入介绍,故此处不再详细讲解。通过使用上面的几个标签,替换showBook.jsp页面中的Java脚本,修改后的showBook.jsp页面代码如下: <%@ page language=\contentType=\charset=GBK\%> <%@taglib prefix=%uri=\ 作者李刚的图书

作者李刚的图书

书名:

上面的JSP页面使用了Struts 2的标签库,因此必须在JSP页面的首部添加taglib指令,该taglib指令用于导入标签库。

提示 如果需要使用某个标签库中的标签,则必须在页面的开始导入该标签库。 页面中使用Struts 2的iterator标签迭代输出ValueStack中的books数组,并为每个数组元素定义了一个序号:index。通过判断序号是否为奇数,如果行序号为奇数,则输出一个有背景色的表格行;否则输出一个无背景色的表格行。

在浏览器中再次向getBooks.action发送请求(发送请求之前,必须先登录本系统),将看到如图2.6所示的界面。

图2.6 使用Struts 2标签改善后的输出界面 上面页面的输出效果与图2.5并没有太大的不同,只是使用不同颜色来分隔了记录行。这也得益于Struts 2标签库的简洁。 关键在于2.5.4节中的JSP页面代码与本节页面代码的差异:前面JSP页面使用了大量的Java脚本,让整个页面的代码看起来非常凌乱,降低了可阅读性、可维护性。但本页面中仅使用Struts 2脚本控制输出,完全消除了页面中的Java脚本,降低了该页面的后期维护成本。 2.6.2 使用UI标签简化表单页面 前面已经提到过,Struts 2的一个重要组件就是标签库。Struts 2标签库中不仅提供了前面所示的基本控制、数据输出等功能,还提供了非常丰富的UI组件,除了提供系列的主题相关标签外,还提供了一系列的表单相关的标签。 Struts 2为常用表单域都提供了对应的标签,下面是常用的表单域标签。 — form:对应一个表单元素。 — checkbox:对应一个复选框元素。 — password:对应一个密码输入框。 — radio:对应一个单选框元素。 — reset:对应一个重设按钮。 — select:对应一个下拉列表框。 — submit:对应一个提交按钮。 — textarea:对应一个多行文本域。 — textfield:对应一个单行文本框。 关于这些界面相关的标签,同样将在第10章详细介绍。下面将使用Struts 2的表单相关标签简化用户登录的login.jsp页面,修改的login.jsp页面的代码如下: <%@ page language=\contentType=\charset=GBK\<%@taglib prefix=%uri=\ 登录页面 将该页面与前面的表单页面进行对比,我们发现该页面的代码简洁多了。因为使用了Struts 2的表单标签,定义表单页面也更加迅速。在浏览器中浏览该页面,看到如图2.7所示的界面。 图2.7 使用Struts 2表单标签后的表单页 当然,Struts 2的标签还有许多功能,此处先不详述,本书的第10章将会详细介绍Struts 2标签的用法。 2.7 完成程序国际化 因为一个企业应用经常需要面对多区域的用户,因此,程序国际化是一个企业应用必须实现的功能。Struts 2提供了很好的程序国际化支持。 2.7.1 定义国际化资源文件 Struts 2的程序国际化支持建立在Java程序国际化的基础之上,关于Java程序的国际化笔者将在第9章简要介绍。此处不会详细介绍,但我们要明白一个概念:程序国际化的设计思想是非常简单的,其主要思想是:程序界面中需要输出国际化信息的地方,我们不要在页面中直接输出信息,而是输出一个key值,该key值在不同语言环境下对应不同的字符串。当程序需要显示时,程序将根据不同的语言环境,加载该key对应该语言环境下的字符串——这样就可以完成程序的国际化。 图2.8显示了程序国际化的示意图。 图2.8 程序国际化示意图 从图2.8可以看出,如果需要程序支持更多的语言环境,只需要增加更多语言资源文件即可。 为了给本应用增加程序国际化支持(支持英文和中文),则应该提供两份语言资源文件。下面是本应用所使用的中文语言环境下资源文件的代码。 loginPage=登录页面 errorPage=错误页面 succPage=成功页面


Struts 2下的helloword(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:班级操行量化评分细则1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: