回 帖 发 新 帖 刷新版面

主题:[活动]Struts 2完全学习手册

书名: Struts 2完全学习手册  
书号: 9787302223122 
版次: 1 
页数: 593 
定价: 69.5 

[img]http://school.itzcn.com/uploadFile/book/image/20101220033753.jpg[/img]
 内 容 要 点 : 
 
Struts 1自推出以来,经过多年的发展,已经成为了一个高度成熟的框架,不管是稳定性还是可靠性都得到了广泛的证明,拥有丰富的开发人群。但是随着时间的流逝以及技术的进步,Struts 1的局限性也越来越多地暴露出来,并且制约了Struts 1的继续发展。 
对于Struts 1框架而言,由于与JSP/Servlet耦合非常紧密,因此导致了一些严重的问题。首先,Struts 1支持的表现层技术单一。由于Struts 1出现的年代比较早,那个时候没有FreeMarker、Velocity等技术,因此它不可能与这些视图层的模板技术进行整合。其次,Struts 1与Servlet API的严重耦合,使应用难于测试。最后,Struts 1代码严重依赖于Struts 1 API,属于侵入性框架。 
为了适应开发需求,以及应对新型视图层框架(例如JSF、Tapestry和Spring MVC)的冲击,Struts社区与大家熟知的WebWork社区联合推出了最新的Struts框架——Struts 2。Struts 2吸取了WebWork框架与Struts 1框架的优点,在稳定性与性能方面都有了更好的保证。 
1.本书内容 
本书全面地介绍Struts 2框架的各个知识层面,最主要的内容包括Struts 2框架的配置文件、Struts 2强大的标签库以及Struts 2与其他框架的整合,向读者全面展示Struts 2框架。本书共分为4篇,分别是Struts 2基础篇、Struts 2框架技术篇、Struts 2整合其他技术篇和Struts 2综合实例篇。各篇主要内容如下。 
第1篇:Struts 2基础篇(第1~8章)。本篇主要介绍Struts 2的MVC设计理念、工作流程、文件配置、国际化和异常处理、拦截器、类型转换、输入校验以及Struts 2的默认表达式语言OGNL。其中,拦截器是Struts 2框架的核心。 
第2篇:Struts 2框架技术篇(第9~14章)。本篇着重介绍Struts 2框架的标签库、文件上传与下载以及Struts 2对Ajax的支持,同时也非常具体地介绍Struts 2的数据库应用、 Struts 2的应用程序安全以及如何避免表单重复提交与设置等待页面。 
第3篇:Struts 2整合其他技术篇(第15~18章)。与各种流行框架的整合是学习Struts 2的一个重点。本篇主要介绍Struts 2与Hibernate、Spring、JSF、SiteMesh、Tiles等框架的 整合。 
第4篇:Struts 2综合实例篇(第19~21章)。本篇介绍3个综合实例,分别是用户注册系统、企业BBS系统和电子相册系统。其中,用户注册系统单独使用Struts 2框架实现;企业BBS系统结合Struts 2与Hibernate技术实现;电子相册系统结合Struts 2+Hibernate+Spring这3种主流框架技术整合开发实现。 
2.本书特色 
本书采用大量的实例进行讲解,力求通过实际操作使读者轻松地掌握Struts 2框架技术的使用。本书难度适中,内容由浅入深,实用性强,覆盖面广,条理清晰。 
知识点全本书全面地介绍Struts 2框架中的各个知识点,具有很强的系统性。 
基于理论,注重实践在讲述过程中,不仅仅只介绍理论知识,而且在合适位置安排具有代表性、操作性强的综合应用,将理论应用到实践当中来加强读者的实际应用能力,巩固对Struts 2框架理论知识的学习。 
快速掌握注重技术原理和实际应用的高度融合,通过循序渐进的内容组织,帮助读者快速掌握和应用Struts 2框架技术。 
案例实用本书花了很大篇幅去讲解Struts 2框架与其他流行框架的整合,让读者切切实实地掌握Struts 2框架的实际应用,并在最后以3个综合实例,更具体地介绍 Struts 2与Hibernate、Spring这两个目前最为流行的框架的整合。 
随书光盘本书为实例配备了视频教学文件,读者可以通过视频文件更加直观地学习Struts 2框架知识。 
网站技术支持读者在学习或者工作的过程中,如果遇到实际问题,可以直接登录www.itzcn.com与我们取得联系,作者会在第一时间内给予帮助。 
3.读者对象 
本书具有知识全面、实例精彩、指导性强的特点,力求以全面的知识及丰富的实例来指导读者透彻地学习Struts 2框架各方面的知识。本书可以作为Struts 2框架的入门书籍,也可以帮助中级读者提高技能,对高级读者也有一定的启发意义。 
本书适合以下人员阅读学习。 
.系统开发人员。 
系统维护人员。 
Struts 2初学者。 
MVC框架编程人员。 
各大中专院校的在校学生和相关授课老师。  
 
  图 书 目 录 : 
 
第一篇 struts 2基础篇 
第1章 struts 2概述 1 
1.1 mvc概述 1 
1.1.1 mvc设计模式 1 
1.1.2 mvc的优点 3 
1.1.3 model 1和model 2体系介绍 3 
1.2 struts 1简介 4 
1.2.1 struts 1框架介绍 5 
1.2.2 struts 1配置文件 6 
1.2.3 struts 1处理过程 8 
1.2.4 struts 1简单示例 9 
1.3 webwork概述1 14 
1.4 struts 2简介 15 
1.4.1 struts 2框架体系 15 
1.4.2 struts 2配置文件 16 
1.4.3 struts 2控制器 17 
1.4.4 struts 2标签库 18 
1.4.5 与struts 1、webwork对比 19 
第2章 struts 2起步 22 
2.1 搭建struts 2开发环境 22 
.2.1.1 安装配置jdk 22 
2.1.2 下载安装tomcat 23 
2.1.3 下载安装struts 2 25 
2.1.4 使用开发工具myeclipse 26 
2.2 struts 2应用示例 28 
2.2.1 web.xml配置文件 29 
2.2.2 action业务控制器 29 
2.2.3 struts.xml配置文件 30 
2.2.4 视图文件 31 
2.2.5 运行示例 31 
2.3 struts 2的工作流程 32 
2.3.1 核心控制器filterdispatcher 32 
2.3.2 业务控制器action 34 
2.3.3 业务逻辑组件 34 
2.4 struts 2中使用pojo 34 
第3章 struts 2配置详解 38 
3.1 struts 2配置文件 38 
3.1.1 web.xml 38 
3.1.2 struts.xml 40 
3.1.3 struts-default.xml 44 
3.1.4 struts.properties 46 
3.1.5 struts-plugin.xml 48 
3.1.6 静态内容 49 
3.2 struts.xml配置详解 50 
3.2.1 bean配置 50 
3.2.2 常量配置 51 
3.2.3 包配置 53 
3.2.4 命名空间配置 54 
3.2.5 包含配置 56 
3.2.6 拦截器配置 56 
3.3 配置action 57 
3.3.1 action实现类 58 
3.3.2 间接访问servlet api 59 
3.3.3 直接访问servlet api 62 
3.3.4 action配置 65 
3.3.5 动态方法调用 66 
3.3.6 使用method属性 68 
3.3.7 通配符映射 70 
3.3.8 默认action 71 
3.4 配置result 71 
3.4.1 结果映射 72 
3.4.2 结果类型 73 
3.4.3 dispatcher结果类型 75 
3.4.4 redirect结果类型 76 
3.4.5 redirectaction结果类型 77 
3.4.6 其他结果类型 78 
3.4.7 使用通配符动态配置result 82 
3.4.8 使用ognl动态配置result 83 
3.5 使用注解配置action 84 
3.5.1 与action配置相关的注解 84 
3.5.2 使用注解配置action的注意事项 86 
3.5.3 使用注解配置action示例 87 
第4章 国际化与异常处理 90 
4.1 软件国际化 90 
4.2 java国际化 91 
4.2.1 java对国际化的支持 91 
4.2.2 java支持的语言和区域 94 
4.2.3 使用资源文件 95 
4.2.4 使用资源类文件 97 
4.2.5 messageformat类 100 
4.3 struts 2国际化 101 
4.3.1 配置资源文件 101 
4.3.2 struts 2国际化应用 102 
4.3.3 使用占位符 105 
4.3.4 包范围资源文件 108 
4.3.5 action范围资源文件 111 
4.3.6 临时资源文件 112 
4.3.7 加载资源文件的顺序 114 
4.4 动态访问国际化资源文件 115 
4.4.1 动态访问国际化资源文件原理 115 
4.4.2 建立资源文件 116 
4.4.3 建立action和jsp 116 
4.4.4 动态访问资源运行结果 117 
4.5 struts 2异常处理 118 
4.5.1 传统异常处理方式 118 
4.5.2 struts 2异常处理机制 120 
4.5.3 配置异常处理 121 
4.5.4 异常处理实例 122 
第5章 拦截器 125 
5.1 拦截器介绍 125 
5.1.1 aop介绍 125 
5.1.2 拦截的实现原理 126 
5.1.3 拦截的意义 127 
5.2 struts 2拦截器 128 
5.2.1 struts 2拦截器原理 128 
5.2.2 配置拦截器 129 
5.2.3 使用拦截器 131 
5.2.4 自定义默认拦截器 133 
5.2.5 使用拦截器注解 134 
5.3 自定义拦截器 137 
5.3.1 自定义拦截器类 137 
5.3.2 使用自定义拦截器 139 
5.4 拦截器深度剖析 142 
5.4.1 拦截器的方法过滤 142 
5.4.2 拦截器的执行顺序 146 
5.4.3 拦截结果监听器 147 
5.4.4 设置拦截器栈中拦截器参数 149 
5.5 struts 2框架的系统拦截器 152 
5.5.1 系统拦截器 152 
5.5.2 timer拦截器实例 157 
5.6 权限拦截器实例 158 
5.6.1 权限拦截器 158 
5.6.2 配置拦截器 159 
5.6.3 业务控制器action 159 
5.6.4 jsp视图 160 
5.6.5 运行程序 160 
第6章 类型转换 161 
6.1 传统的类型转换 161 
6.2 编写一个类型转换器 162 
6.2.1 类型转换需求 162 
6.2.2 编写自定义类型转换器 164 
6.2.3 视图资源文件 165 
6.2.4 运行示例 166 
6.3 自定义类型转换器 166 
6.3.1 基于ognl的类型转换器 166 
6.3.2 基于struts 2的类型转换器 167 
6.3.3 注册自定义类型转换器 168 
6.3.4 数组属性类型转换器 171 
6.3.5 集合属性类型转换器 173 
6.4 使用struts 2的类型转换 174 
6.4.1 struts 2系统内建的类型转换器 174 
6.4.2 null属性的处理 174 
6.4.3 项目应用中常见的类型转换 175 
6.4.4 使用ognl表达式 177 
6.4.5 使用集合类型属性 179 
6.4.6 使用set类型属性 182 
6.5 类型转换中的异常处理 185 
6.5.1 类型转换异常拦截器 185 
6.5.2 一个简单的类型转换异常处理 186 
6.5.3 改进类型转换异常显示信息 188 
6.5.4 处理复合类型转换异常 188 
6.6 使用类型转换注解 189 
6.6.1 typeconversion注解 190 
6.6.2 conversion注解 191 
6.6.3 element注解 192 
6.6.4 key注解 192 
6.6.5 keyproperty注解 192 
6.6.6 createifnull注解 193 
第7章 输入校验 194 
7.1 输入校验介绍 194 
7.1.1 输入校验的原因 194 
7.1.2 客户端和服务器端校验 195 
7.2 使用validate进行输入校验 197 
7.2.1 validate()方法输入校验 197 
7.2.2 validatexxx()方法输入校验 199 
7.2.3 输入校验流程 202 
7.3 基本输入校验 203 
7.3.1 定义校验规则 203 
7.3.2 字段校验器配置风格 205 
7.3.3 非字段校验器配置风格 206 
7.3.4 输入校验的国际化信息 207 
7.3.5 校验的搜索顺序 208 
7.4 复合类型属性的输入校验 212 
7.4.1 复合属性的校验 212 
7.4.2 集合属性的校验 215 
7.5 struts 2框架的校验器 217 
7.5.1 内建校验器 217 
7.5.2 必填校验器 218 
7.5.3 必填字符串校验器 220 
7.5.4 字符串长度校验器 222 
7.5.5 整数校验器 223 
7.5.6 类型转换校验器 224 
7.5.7 日期校验器 226 
7.5.8 浮点数值校验器 227 
7.5.9 邮件地址校验器 228 
7.5.10 网址校验器 229 
7.5.11 表达式校验器 231 
7.5.12 字段表达式校验器 232 
7.5.13 正则表达式校验器 234 
7.5.14 visitor校验器 235 
7.6 自定义校验器 236 
第8章 ognl 239 
8.1 ognl简介 239 
8.2 ognl表达式 239 
8.2.1 常量 240 
8.2.2 操作符 240 
8.2.3 调用方法 241 
8.2.4 索引访问 242 
8.2.5 对集合进行操作 244 
8.3 ognl的简单应用 246 
8.4 struts 2的ognl 247 
第二篇 struts 2框架技术篇 
第9章 struts 2标签库 253 
9.1 struts 2标签库概述 253 
9.1.1 标签库简介 253 
9.1.2 struts 2标签库组成 254 
9.2 控制标签 255 
9.2.1 if/elseif/else标签 256 
9.2.2 iterator标签 257 
9.2.3 append标签 258 
9.2.4 generator标签 259 
9.2.5 merge标签 259 
9.2.6 subset标签 261 
9.2.7 sort标签 262 
9.3 数据标签 264 
9.3.1 action标签 264 
9.3.2 bean标签 266 
9.3.3 date标签 268 
9.3.4 debug标签 269 
9.3.5 include标签 269 
9.3.6 param标签 270 
9.3.7 push标签 271 
9.3.8 set标签 272 
9.3.9 url标签 273 
9.3.10 property标签 274 
9.4 主题与模板 275 
9.4.1 主题 275 
9.4.2 模板 276 
9.4.3 使用主题模板 276 
9.5 表单标签 277 
9.5.1 表单标签通用属性 277 
9.5.2 checkboxlist标签 278 
9.5.3 combobox标签 280 
9.5.4 doubleselect标签 281 
9.5.5 datetimepicker标签 282 
9.5.6 head标签 283 
9.5.7 file标签 284 
9.5.8 hidden标签 284 
9.5.9 select标签 284 
9.5.10 optiontransferselect标签 285 
9.5.11 radio标签 287 
9.5.12 optgroup标签 288 
9.5.13 token标签 289 
9.5.14 textfield、password和 
textarea标签 290 
9.5.15 updownselect标签 291 
9.6 非表单标签 292 
9.6.1 actionerror和actionmessage标签 292 
9.6.2 component标签 293 
9.6.3 tree和treenode标签 294 
第10章 struts 2数据库应用 296 
10.1 mysql下载和安装 296 
10.1.1 下载mysql数据库 296 
10.1.2 安装mysql数据库服务器 297 
10.1.3 下载mysql jdbc驱动 298 
10.2 访问mysql数据库 298 
10.2.1 创建一个数据库 298 
10.2.2 建立jdbc连接 299 
10.3 使用tomcat数据源 300 
10.4 struts 2数据分页 304 
10.5 struts 2数据库操作 309 
10.5.1 添加用户 310 
10.5.2 修改用户 312 
10.5.3 删除用户 316 
第11章 文件上传与下载 319 
11.1 文件上传 319 
11.1.1 基于表单的文件上传设置 319 
11.1.2 手动上传文件 322 
11.1.3 struts 2对文件上传的支持 325 
11.1.4 在struts 2中实现文件上传 325 
11.1.5 实现上传文件过滤 328 
11.2 多个文件同时上传 330 
11.2.1 使用数组同时上传多个文件 330 
11.2.2 使用list同时上传多个文件 333 
11.3 文件下载 335 
11.3.1 struts 2实现文件下载 335 
11.3.2 下载权限控制 337 
第12章 避免表单重复提交与等待页面 340 
12.1 避免表单重复提交 340 
12.2 struts 2的实现方式 341 
12.3 使用token拦截器 342 
12.4 使用tokensession拦截器 345 
12.5 自动显示等待页面 346 
12.6 使用execandwait拦截器 347 
第13章 struts 2应用程序安全性 350 
13.1 系统攻击的实现因素 350 
13.2 web应用程序的攻击类型 350 
13.3 用户和角色 351 
13.4 编写安全策略 352 
13.4.1 保护资源 352 
13.4.2 指定登录方法 353 
13.5 身份验证方法 354 
13.5.1 基本身份验证方法 354 
13.5.2 基于表单的身份验证方法 356 
13.6 struts 2的安全配置 358 
13.7 以编程方式提高安全性 359 
13.7.1 getauthtype()方法 359 
13.7.2 isuserinrole()方法 360 
13.7.3 getuserprincipal()方法 361 
13.7.4 getremoteuser()方法 362 
第14章 struts 2对ajax的支持 363 
14.1 ajax快速入门 363 
14.1.1 ajax简介 363 
14.1.2 xmlhttprequest 364 
14.2 ajax应用开发 370 
14.2.1 使用xml作为数据的载体 370 
14.2.2 使用json串作为数据的载体 373 
14.2.3 使用dojo简化ajax应用的开发 382 
14.3 在struts 2中使用json 385 
14.4 struts 2的ajax标签 390 
14.4.1 struts 2的ajax支持 390 
14.4.2 div标签 394 
14.4.3 a标签 402 
14.4.4 submit标签 405 
14.4.5 tabbedpanel标签 406 
14.4.6 autocompleter标签 408 
第三篇 struts 2整合其他技术篇 
第15章 整合spring 413 
15.1 spring概述 413 
15.1.1 spring框架组件 413 
15.1.2 spring的优点 415 
15.1.3 下载安装spring 415 
15.1.4 ioc和di 415 
15.2 struts 2整合spring 418 
15.2.1 原理介绍 418 
15.2.2 整合步骤 418 
15.2.3 整合示例 419 
第16章 整合hibernate 426 
16.1 hibernate简介 426 
16.1.1 hibernate的优点 426 
16.1.2 理解hibernate架构 427 
16.1.3 hibernate核心接口 427 
16.2 struts 2整合hibernate 428 
16.2.1 下载安装hibernate 428 
16.2.2 struts 2与hibernate的整合方案 429 
16.2.3 功能设计与数据库设计 429 
16.2.4 hibernate映射对象到数据库 430 
16.2.5 hibernate.cfg.xml配置文件 432 
16.2.6 hibernatesessionfactory类文件 433 
16.2.7 数据库操作dao 434 
16.2.8 业务控制action 436 
16.2.9 struts.xml配置文件 440 
16.2.10 视图文件 442 
16.2.11 校验文件 446 
16.2.12 运行程序 446 
.4 用户注册模块 522 

回复列表 (共5个回复)

沙发

进来学习一下

板凳

那有看了不回的

3 楼

图书很不错的!

4 楼


能不能弄个电子版的传给我,朋友
我的邮箱645943430@qq.com

5 楼

人们还熙熙攘攘、若有所思、争先恐后的来到这里做什么?
  难道只是凭吊,只是感伤,只是追怀,只是自慰,[url=http://t.sohu.com/u/1408568550]生殖器官[/url]只是白日梦?
  当我站在这座硕大的题名“黄鹤”的楼前时,我早就知道那个仙鹤早已[url=http://t.163.com/1316406250]念珠菌尿道炎[/url]不在,早已振翅而去,早已仙游化外,甚至连是谁骑着它走了,后人都搞不清楚,甚至究竟有没有这样一个人也各说各话;但是仙鹤,我梦中的神鸟,它是存在的,它是光辉灿烂的,因此这个楼是要用它命名,而不是那些个连名字也搞不清楚的所谓“仙人”。
  甚至连现在的这栋楼也是假的,不知道是已经复制的第几个版本,这所叫做“黄鹤”的楼屡建屡毁,屡毁屡建,人们似乎代代传承着一种固执,期待那[url=http://t.163.com/3597985485]中药治疗前列腺增生[/url]个叫做“黄鹤”的鸟儿再次飞临。但假如当它再次飞临的时候,谁会再次是那个骑着它离去的仙人,人们会不会因此再发动一次战争,再毁掉这座叫做“黄鹤”的鸟巢,让它无法落脚?
  这座叫做“黄鹤”的鸟巢在不断的被人赶着走,它像是长了脚,被人毁掉一次,就要迁徙一次,每迁徙一次,它就换上一身新衣裳,每换上一次新衣裳,它就物是人非一次,现在的人已经不知道它原来的模样,那个逝去的仙鹤早已回不到它梦中的故乡。
  放眼观望,整个武汉都仿佛浮在一匹大水之上,从西向东,梅子山、龟山、蛇山、洪山、珞珈山、磨山、喻家山……连串起一条巨龙卧波而游,城区第一峰喻家山就是那个龙头,而现在的这个黄鹤楼恰恰就在龙腰之上,这就是武汉的地脉。在龙腰之上,骑鹤飞天,化入仙境,那是何等的让人神往,何等的大气磅礴!
  那个被流放的诗仙途径武昌时与老友对饮,突然他听到那个叫做“黄鹤”的楼上,有人在吹奏《梅花落》,那苍凉的曲调,让他感到自己的周围一瞬间落满了梅花,孤独而忧伤,于是一首迁客之歌幽然而起:“一为迁客去长沙,西望长安不见家。黄鹤楼中吹玉笛,江城五月落梅花。”他的另一首黄鹤楼辞别诗,也脍炙人口,给这所仙气十足的楼台,打上了一纸最好的广告:“故人西辞黄鹤楼,烟花三月下扬州。孤帆远影碧空尽,唯见长江天际流。[url=http://t.sohu.com/u/1408271764]什么是尿路感染[/url]”但咏黄鹤楼最精彩的还是崔颢的那首《黄鹤楼》:昔人已乘黄鹤去,此地空余黄鹤楼。黄鹤一去不复返,白云千载空悠悠。晴川历历汉阳树,芳草萋萋鹦鹉洲。日暮乡关何处是?烟波江上使人愁。以致李白看到后也要慨叹:“眼前好景道不得,崔颢题诗在上头!”
  黄鹤一去不复返,这个任何人都知道的事实,就这样郁结在这里,它让每一个途经这里的人,都体谅那种凄凉无奈的意境,尤其让那些左迁的人感同身受,自比为那只仙鹤了,一去就不再回头,不再回头。
  
  09年8月20日人們還熙熙攘攘、若有所思、爭先恐後的來到[url=http://t.people.com.cn/fgycsy]阴茎胀痛[/url]這裡做什麼?
  難道隻是憑吊,隻是感傷,隻是追懷,隻是自慰,隻是白日夢?
  當我站在這座碩大的題名“黃鶴”的樓前時,我早就知道那個仙鶴早已不在,早已振翅而去,早已仙遊化外,甚至連是誰騎著它走瞭,後人都搞不清楚,甚至究竟有沒有這樣一個人也各說各話;但是仙鶴,我夢中的神鳥,它是存在的,它是光輝燦爛的,因此這個樓是要用它命名,而不是那些個連名字也搞不清楚的所謂“仙人”。
  甚至連現在的這棟樓也是假的,不知道是已經復制的第幾個版本,這所叫做“黃鶴”的樓屢建屢毀,屢毀屢建,人們似乎代[url=http://t.qq.com/jxndyq]早泄是什么症状[/url]代傳承著一種固執,期待那個叫做“黃鶴”的鳥兒再次飛臨。但假如當它再次飛臨的時候,誰會再次是那個騎著它離去的仙人,人們會[url=http://t.people.com.cn/qlxywh]早泄手术多少钱[/url]不會因此再發動一次戰爭,再毀掉這座叫做“黃鶴”的鳥巢,讓它無法落腳?
  這座叫做“黃鶴”的鳥巢在不斷的被人趕著走,它像是長瞭腳,被人毀掉一次,就要遷徙一次,每遷徙一次,它就換上一身新衣裳,每換上一次新衣裳,它就物是人非一次,現在的人已經不知道它原來的模樣,那個逝去的仙鶴早已回不到它夢中的故鄉。
  放眼觀望,整個武漢都仿佛浮在一匹大水之上,從西向東,梅子山、龜山、蛇山、洪山、珞珈山、磨山、喻傢山……連串起一條巨龍臥波而遊,城區第一峰喻傢山就是那個龍頭,而現在的這個黃鶴樓恰恰就在龍腰之上,這就是武漢的地脈。在龍腰之上,騎鶴飛天,化入仙境,那是何等的讓人神往,何等的大氣磅礴!
  那個被流放的詩仙途徑武[url=http://t.sohu.com/u/1412667640]怎么样治疗阳痿[/url]昌時與老友對飲,突然他聽到那個叫做“黃鶴”的樓上,有人在吹奏《梅花落》,那蒼涼的曲調,讓他感到自己的周圍一瞬間落滿瞭梅花,孤獨而憂傷,於是一首遷客之歌幽然而起:“一為遷客去長沙,西望長安不見傢。黃鶴樓中吹玉笛,江城五月落梅花。”他的另一首黃鶴樓辭別詩,也膾炙人口,給這所仙氣十足的樓臺,打上瞭一紙最好的廣告:“故人西辭黃鶴樓,煙花三月下揚州。孤帆遠影碧空盡,唯見長江天際流。”但詠黃鶴樓最精彩的還是崔顥的那首《黃鶴樓》:昔人已乘黃鶴去,此地空餘黃鶴樓。黃鶴一去不復返,白雲千載空悠悠。晴川歷歷漢陽樹,芳草萋萋鸚鵡洲。日暮鄉關何處是?煙波江上使人愁。以致李白看到後也要慨嘆:“眼前好景道不得,崔顥題詩在上頭!”
  黃鶴一去不復返,這個任何人都知道的事實,就這樣鬱結在這裡,它讓每一個途經這裡的人,都體諒那種淒涼無奈的意境,尤其讓那些左遷的人感同身受,自比為那隻仙鶴瞭,一去就不再回頭,不再回頭。
  
  09年8月20日 

我来回复

您尚未登录,请登录后再回复。点此登录或注册