struts2结合jquery的Ajax应用
前言
最近尝试在Google App Engine(GAE)平台上构建一个blog,目前进度已经完成将近50%,其中Css和DIV布局折腾得我够呛,对UI一向是个外行,色感拿捏实在没谱,只好仿造Wordpress了--_--||;
为何采用AJAX:
回复是在blog文章阅读中的一个常见的功能,如CSDN的回复等等,但是因为回复内容不多,甚至大多数时间有些朋友经常会仅仅留下mark一下,于是决定在此部分采用ajax刷新;
而本身此Blog系统采用的框架是struts2+JPA,利用ThreadLocal进行事务处理;UI端采用Jquery作为JS框架;
前端界面
1) 首先编写评论提交表单:
<div class="commentor pane">
<form name="comment_form">
<input name="articleId" id="articleId" type="hidden" value='<s:property value="article.id" />'/>
<div class="comment_item">
<label>
昵称:
</label>
<input name="comment.name" id="name_comment" />
</div>
<div class="comment_item">
<label>
邮件地址:
</label>
<input name="comment.email" id="email_comment" />
</div>
<div class="comment_item">
<label>
主页地址:
</label>
<input name="comment.page" id="page_comment" />
</div>
&nbs
相关文档:
xml数据:
writer.write("<root>" +
"<name>a</name>" +
"<name>b</name>"+
"</root>");
前台解析:
request.onreadystatechange=function(){
if(request.readyState==4){
var x=requ ......
AJAX表单提交方法(JSON)
1./*****JAVA**************************************************************/
JAVA类中:
/*****JAVA**************************************************************/
2./*****struts.xml**************************************************************/
struts.xml文件中:
......
很多人都用过AJAX控件吧,AJAX控件不需要刷新页面就可以到后台去读出数据到客户端.AJAX控件除了有很炫的特效外,其要功能就是不需要刷新整个页面就可以取得用户所需要的数据,我把这一块的的功能封装成一个类,方便日后可以重复使用,代码如下:
//Ajax Request Class Start
functio ......
在ajax没出来之前,一直是用iframe实现的无刷新请求。
主要的原理是:
使用js创建一个隐藏的iframe
把要提交的表单的target属性指向1中生成的iframe
在请求的页面中回调父页面的方法
这样就实现了一个简单的“异步提交”
看起来和ajax一样的效果,那为什么还要有ajax,我们来比较下:(以下把ajax技术称为X ......