﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-GHawk-随笔分类-Java SE</title><link>http://www.blogjava.net/ghawk/category/15688.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 19:07:21 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 19:07:21 GMT</pubDate><ttl>60</ttl><item><title>Scripting in Mustang 的一点启发</title><link>http://www.blogjava.net/ghawk/archive/2006/09/26/71905.html</link><dc:creator>GHawk</dc:creator><author>GHawk</author><pubDate>Tue, 26 Sep 2006 02:04:00 GMT</pubDate><guid>http://www.blogjava.net/ghawk/archive/2006/09/26/71905.html</guid><wfw:comment>http://www.blogjava.net/ghawk/comments/71905.html</wfw:comment><comments>http://www.blogjava.net/ghawk/archive/2006/09/26/71905.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/ghawk/comments/commentRss/71905.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ghawk/services/trackbacks/71905.html</trackback:ping><description><![CDATA[2006 Sun Techdays Shanghai 的第2天下午有一个名为《<b>Java Scripting: One VM, Many Languages</b>》的Session。<br /><br />Rags为大家展示了Mustang的一个新特性，Scripting in Java——脚本语言支持。<br /><br />通过加入脚本引擎的支持，就能够在Java中解释Javascript，python，ruby等诸多脚本语言。<br /><br />对于这个特性，想到的一个可能的应用就是在annotation中写脚本语言，然后在代码中用相应的脚本语言引擎解释执行。<br />保留到运行时的annotation可以用实现aop的功能，使用非inline的脚本就可以更灵活地控制aspect的行为。<br /><br />比如：<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">//inline scripting<br />@ScriptBefore(script</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><img src="http://www.blogjava.net/images/dot.gif" /><img src="http://www.blogjava.net/images/dot.gif" /></span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,language</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">javascript</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"> )<br /></span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> foo() {<br />   <br />}<br /><br />//non-inline scripting<br />@ScriptBefore(file</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"scripts/logging.js</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,language</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">javascript</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)<br /></span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> bar() {<br /><br />}</span></div><br /><img src ="http://www.blogjava.net/ghawk/aggbug/71905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ghawk/" target="_blank">GHawk</a> 2006-09-26 10:04 <a href="http://www.blogjava.net/ghawk/archive/2006/09/26/71905.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>