LittleCloud's Java World

Live and learn.
posts - 18, comments - 29, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2008年6月26日



谢朓《王孙游》赏析

绿草蔓如丝①,杂树红英发②。无论君不归③,君归芳已歇④。 


  


想要下载直接在地址栏输入:http://www.blogjava.net/Files/ash011/wangsunyou.mp3


    【注释】①蔓:蔓延。 ②英:花。这两句是说地上长满了如丝的绿草,树上开满了各样的红花,已是暮春时节了。 ③无论:莫说。 ④歇:尽。这两句是说莫说你不回来,即使回来,春天也过去了。

    【赏析】
  这是一首乐府诗,《乐府诗集》收入“杂曲歌辞”一类。魏晋以来,文人创作乐府诗往往有一个特点:总是围绕着“古辞”(汉乐府)打转转,或拟古辞,或以古辞为引子生发开去(当然也有弃古辞于不顾而自铸伟辞的)。这种从古辞中寻找“母题”使创作上有所依傍的作法,已形成一个程式。南朝诗人写乐府诗虽然也依这一程式,但却出现另一种倾向,他们有时撇开汉乐府古辞,而直接上溯到《楚辞》中去寻找“母题”。比如,南齐王融和萧梁费昶都写过一首《思公子》,中心题旨就是采自《楚辞·九歌》:“风飒飒兮木萧萧,思公子兮徒离忧。”谢朓的这首诗也属于这种情况,其“母题”出于《楚辞·招隐士》:“王孙游兮不归,春草生兮萋萋。”也就是说,诗人的创作灵感获自《楚辞》,而所写内容则完全是现实生活中的感受。在古老的“母题”之中,贯注了活生生的现实内容。
  蔓,蔓延;红英,即红花。春天,绿草如丝,葱葱茸茸,蔓延大地,绘写出一派绿的世界;各种各样的树上,红花竞放,绚丽夺目。绿的氛围,红的点染,在鲜明的对比之中,烘托出一派生机勃勃的景象。窈窕少女,目睹此景,心伤离情,不禁怦然心动,情思缱绻,不无惆怅地发出了感叹:“无论君不归,君归芳已歇。”且不要说心上的人儿不回来,即使等到他回来,那绚丽的花朵早已凋谢了,那大好春光早已白白地流逝了,我那美妙的年华也早巳悄然飘去了。红颜难久持啊!这里,诗人不主要写少女如何急切地等待着情人,如何急不可耐,而是着重写她对于红花的珍惜,对于大好春色的留恋,由此描写出她思君、恋君的春一般的情愫。如此写来,就把主人公的心态从一般的少女怀春,从感情的倾诉和渲泄,升华到了一种对春的珍惜、对时的留恋的理性高度,渗透出一种强烈的时间意识和生命意识。这样,从景的描绘,到情的抒发,再到理性的升华,三者水乳交融般地融汇在一起了。所以,这是一首充满了生命意识的景、情、理俱佳的好诗。
  诗虽短小,艺术风格却颇具特色,体现了齐梁间诗歌创作雅俗结合的一种倾向。首先,从《楚辞》中生发出来的母题,显而易见带有文人的雅、艳色彩,暗示了它与文人文学的关系;但诗人却用南朝乐府民歌五言四句的诗歌形式,来表现这一古老“母题”,这便将原有华贵、雍雅的色彩悄悄褪去,淡化,使之在语言风格上呈现出清思婉转,风情摇曳的特色。其次,诗写春的景色逗引起春的情思,因景而生情,情景相生,短章逸韵,风姿绰约,这原是南朝乐府民歌的本色,是“俗”。然而在描写笔法上却颇具匠心,诗人在绿的氛围中缀以红花的点染,巧笔对比,着意渲染,流露出文人精心构制的痕迹,表现出“雅”。雅俗结合,创为佳构。另外,诗的用韵也值得一提。诗用仄韵,短促,急切,对表现出主人公惜春、惜时的时不我待的急切心情,起到很好的作用,呈现出语浅意深、韵短情长的艺术风貌。



我本人很喜欢,听了心里很平静的感觉~

posted @ 2008-07-09 12:56 walkingpig 阅读(3198) | 评论 (7)编辑 收藏



Listen:/Files/ash011/struts2.rar

Since arriving on the scene in 2000, Apache Struts has enjoyed a very successful run, by most any standard, helping to build many, if not most, of the Java-based web applications deployed today. Its history tells of how Struts provided a solid framework to organize the mess of JSP and Servlets to make developing applications, which used mostly server-generated HTML with a touch Javascript for client-side validation, easier to develop and maintain. As time moved forward, and customer demands of web applications grew and grew, Struts 1 pretty much stayed the same, leaving more and more plumbing to the web developer.

At JavaOne 2005, several of the Struts developers (Martin Cooper, Don Brown) sat down with Rich Feit (Apache Beehive) and a few Struts users to discuss the future of Struts. We came up with the Struts Ti proposal, which described a framework that brought together a lot of good things that were developing in the web framework community. The problem is that the Struts 1 code base didn’t lend itself to drastic improvements, and its feature set was rather limited, particularly lacking in features such as Ajax, rapid development, and extensibility.

At the same JavaOne, I sat down with Jason Carreira of the OpenSymphony WebWork 2 project to discuss how we could better work together. I was interested in building on XWork, the core of their command pattern implementation, but he suggested building on WebWork 2 directly. As Rich and I worked on the first few versions of Struts Ti, we decided to take Jason’s advice. We thought it was time for a framework to address higher level application needs, and by building on the proven WebWork 2 framework, we could spend our precious spare time where we felt it would make a difference. From then on, Rich and I worked mostly with Patrick Lightbody, also a core WebWork 2 developer, and found ourselves constantly “stealing” each others ideas for our respective code bases.

Around this time, Patrick and Keith Donald of the Spring WebFlow project were kicking around an idea of a web framework to bind them all, Clarity. Clarity brought together Spring WebFlow (Keith), Struts (Ted Husted and myself), WebWork (Patrick and Jason), and Beehive (Rich) to talk about the possibility of combining efforts into one framework. Unfortunately, the devil is in the details as soon as Beehive and WebFlow were unable to make progress on merging their wizard/conversion scope features, and questions about project ownership, brand, and identity soon broke up the party.

Not wanting to lose momentum, Ted and I started discussions with Patrick and Jason on how we could better work together, and after Patrick casually suggested the idea of a merger, Ted jumped on it and the Struts/WebWork merger was born. Since Struts Ti was already based on WebWork, it wasn’t that far a leap to bring the WebWork code into the Struts project. We started the Apache Incubator process for WebWork 2 in January and graduated the WebWork 2 code, developers, and community to Apache Struts that May.

At that time, Struts was struggling with the project’s core identity, whether it was an umbrella for multiple web frameworks or not. We had Apache Shale, a web framework based off JSF, as a Struts subproject, along side Struts Action 1 (now called Struts 1) and Struts Action 2 (the graduated WebWork 2 code). Unfortunately, these subprojects were confusion to the developer and user community, accustomed to the name “Struts” referring to a single framework. After an attempt to unify the Struts Action 2 and Shale subprojects into a single Struts 2 framework, the Shale developers felt it would be better if they were their own top level project (TLP) where they are today. Struts Action 2 was soon after renamed to simply Struts 2.

Today, the Apache Struts project has two major versions of its framework, but it is one action-based framework project. WebWork continues to deliver patch releases, and will certainly continue to do so until Struts 2 goes GA or final, but all new development takes place on the Struts 2 code. For those looking for drama or a controversy in the Struts/WebWork merger story, you’ll have to look elsewhere. Both groups of developers are working happily towards a Struts 2.0 GA release, trying to combine the stability and accessibility of Struts 1 with the elegant architecture of WebWork 2. Since the initial incubation, the Struts 2 code has added major features including a plugin framework, a new API, and better Ajax tags, and as promised in the Struts Ti proposal, we won’t stop there.

I decided to write this down to help clear up where this Struts 2.0 project came from and why it includes WebWork 2 code. Mergers are tricky things and it seems even in the Open Source community, one that champions collaboration, a merger between two projects is a rarity and needs to be defended. Amusing, because you’d be hard pressed to find a Java web developer that felt there are too few web frameworks. I think the WebWork and Struts communities pulled off something special in Struts 2, and hope the merger fever catches on in the Open Source world.

posted @ 2008-06-26 10:40 walkingpig 阅读(438) | 评论 (0)编辑 收藏