活用SpringMVC+Freemarker实现http内容协商

摘要: SpringMVC目前应用较广,Freemarker又是优秀的通用模板引擎,两者的结合十分方便。 但既然是通用模板引擎,那么仅仅用来渲染Html页面未免暴殄天物。如果我们从http request的header取得Accept值,并根据此值来选择不同的模板,渲染之,就能够达到http协议中的内容协商的目的了。我们只需要一个类似下面的方法(这只是一个粗略实现,未考虑细节),即可以实现此模式。 1 public ModelAndView getTemplateByAcceptType(HttpServletRequest request, 2 HttpServletResp... 阅读全文
posted @ 2011-12-26 12:59 nixil 阅读(1014) 评论(0) 推荐(0) 编辑

函数式编程与REST的思考

摘要: 最近同时在学习FP(函数式编程)与REST,虽然这两样完全不是一个层面的东西,看似毫无可比性,可是小生却突然觉得两者之间竟有神似之处,那就是两者都希望将"状态"的这个东西从系统中剔除。FP追求一切皆函数,对任意函数而言,相同的输入永远都得到相同的输出,函数的运算是”上下文无关”的。REST的精神是一切皆资源,URI作为资源的表述,是自包含或者说自我描述的,即访问同样的URI永远会得到同样的响应,换言之,也是“上下文无关”的。其实,如果把一个web系统看作是一个复杂的函数,也未尝不可。多少有点标题党的意思,随想随敲,不知所云,欢迎讨论。 阅读全文
posted @ 2011-07-08 22:56 nixil 阅读(275) 评论(0) 推荐(0) 编辑

jQuery表格插件flexigrid扩展

摘要: populate: function () { //get latest data if (this.loading) return true; if (p.onSubmit) { var gh = p.onSubmit(); if (!gh) return false; } this.loading = true; if (!p.url) return false; $('.pPageStat',this.pDiv).html(p.procmsg); $('.pReload',this.pDiv).addClass('loading'); $( 阅读全文
posted @ 2011-03-23 23:33 nixil 阅读(1122) 评论(0) 推荐(0) 编辑

jQuery扩展 form序列化到json对象

摘要: jQuery没有直接支持form到json的序列化方法,目前网上有一个实现是这样的这个function对于普通的对象转换是足够的,但是如果出现对象内部又包含子对象的情形就不能支持了。例如我有这样的一个form表单:对应到server端上的domain class是这样的:如果想把表单数据序列化成跟server端domain class匹配的json字符串,就可以使用我下面的这个扩展使用起来大概像这个样子: 阅读全文
posted @ 2010-12-08 22:47 nixil 阅读(15997) 评论(6) 推荐(1) 编辑

TextMate bundle 学习笔记之 创建模版

摘要: 目标:使用textMate的模版功能,对原有的java bundle进行扩展,创建一个template,从而方便创建class源文件步骤:打开textMate, Bundles -> Bundle Editor -> Show Bundle Editor , bundle列表中找到Java, 选中之 ;点击左下角 “+” 号,选择 New Template ,为... 阅读全文
posted @ 2010-11-24 11:05 nixil 阅读(2188) 评论(0) 推荐(0) 编辑