by zhanghao
integration with struts2