Struts2+JSON+YUI构建Rich Client应用(二)
在UI部分,页面文件很简单,userMessage.jsp的内容如下:
?
该function的工作过程是:获取输入的newUser和newMsg -> 构造需要提交到server端的postData串 -> 提交Ajax请求 -> 调用成功后,重新在UI构造messageList内容。
?
这里提交Ajax的请求不同于loadData()中的的Ajax运用,这里多了一个postData参数,而且postData中除了构造newUser和newMsg,还将messageList的内容重新一起传回到了server端。为什么?因为StrutsTestAction默认是request级别的,不会保留上一次request的状态的。
?
这里构造postData中messageList部分的时候,是用类似数组的方式将List中Message对象传输到server端的。如果传递的是Map性质的对象,只需要将这里的i换成Map的key string即可,当然针对Map类型的conversion的定义也会不一样,大家可以参考Struts Type Conversion。
?
?
>>扩展建议:
这里UI部分使用的是简单的jsp文件,大家可以扩展这个应用UI部分的设计,可以结合使用Freemarker,Velocity类似的UI模板来完成构建。
?
例如,如果要将Struts和Velocity联合使用,同样可以通过type="velocity"的方式来定义使用vm模板,这个是Struts2默认支持的result type。
1 楼 xxrrss 2008-10-14 谢谢!对我很有帮助!现在正在做客户要求Ajax+Struts2项目:却对Ajax和Javasript知之甚少!烦死了!