这个周末webwork velocity jsp jstl 这几种技术的集成使用终于小有成果。
webwork 是比structs显得轻量些,是用ServletDispatcher做控制分发给不同的action.道理和structs相似,不过学起来很快,配置也简单些,只需配置xwork.xml。其他配置文件不配也可使用。
用velocity和jstl的原因是它们支持表达式语言(EL),写起来很方便,简单、灵活。而且velocity还支持宏,写出来的vm具有无限的灵活性。
实际上velocity、jsp是mvc中的view,jstl是一种标签,不过它支持表达式语言,这一点是我想使用的原因,因为它能很方便的拿到动态的对象。
webwork 的action和velocity交换数据是通过ongl value stack:
在action中,ActionContext.getContext().put("list", list);
在vm中,#set ($list = $stack.findValue("#list"))
#foreach ($card in $list) $card.code
#end
在action中:
ServletActionContext.getServletContext().setAttribute("card", card);
在jsp中:<c:out value=“${card.code}“