groovy的应用
我对groovy的认识比较少也比较浅,只知道groovy是一种动态脚本语言,它和java的JVM无缝结合,做了一个demo,觉得这个效果很不可思议,所以就记了一下。 我们知道我们运行一个程序,都需要run as->java application,然后程序就跑完了,每次向查看结果都需要启动一次,如果我写了一个查看当前年月日的函数,我只需要编写以下代码即可 public class ScriptImpl { public static String getDate() { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(); System.out.println(formatter.format(date)); return formatter.format(date); } public static void main(String[] args) { getDate(); } } 但是如果我想在网页上动态的现实日期,你该怎么实现呢?还能像刚才那样吗? 显然不行,不过不用担心,这就是本文要实现的功能,我制作了一个页面,只有一个输入框和一个按钮,两个表单,输入框中输入scriptImpl.getData()(其中scriptImpl为对象名,类是ScriptImpl,其中的getDate()是该类的一个方法),点击提交即可,然后就能动态的显示当前年月日,效果如下图 当然图形并不好看,写的太过粗糙,但是想表达的意思就是这些。 表单代码 <body> <input type="text" name="date" id="date" size="60" /><br /> <input type="button" onclick="submit()" value="提交" /> </body> 就原理而言,就是在表单中输入,点击提交按钮,通过jquery的ajax的url传给后台,后台使用的是spring mvc技术,映射传递的url, function submit() { var script = $("#date").val(); var url = "xxx/xxx/xxx"; $.post(url,{ param : param },function(value) { alert(value.result); }); };然后是spring mvc的controller,通过String param= request.getParameter("param");获得表单的值,然后作为参数传递给groovy引擎,这里只讲述原理,代码由于某些原因,不公开,用到了GroovyBinding.evaluate()、GroovyShell绑定GroovyBinding类,在spring注入时不要忘记将ScriptImpl注入 <bean id="scriptImpl" class="xxx.xxx.xxxx.ScriptImpl"></bean> 由于本文代码不能完全公开,导致写的可能有些虎头蛇尾,但是写作的初衷已达到,望朋友们见谅。 如果文章有什么错误或者有什么建议,欢迎提出,大家共同交流,一起进步 文章转载请注明出处,请尊重知识产权 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |