qjuery ajax 与分页 其他应用
/p>
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
/error.jsp
/index.jsp
/user.jsp
package com.binda.action;
import java.io.IOException;
import net.sf.json.JSONObject;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import com.binda.model.User;
import com.binda.service.IndexService;
import com.util.BaseAction;
/**首页**/
public class IndexAction extends BaseAction {
private static Logger log=LogManager.getLogger(IndexAction.class);
//排序字段
int pageSize=6;
int pageCount=2;
int id=0;
String rderType="desc";
User user;
IndexService indexService;
public String execute() throws Exception {
log.info("=========================exceute==========================");
indexService.doService();
return SUCCESS;
}
public String ajaxAction(){
user=indexService.findUserById(id);
return SUCCESS;
}
public void ajaxNoAction(){
user=indexService.findUserById(id);
JSONObject json=new JSONObject();
json.put("userName", user.getUserName());
try {
this.getResponse().getWriter().write(json.toString());
} catch (IOException e) {
try {
this.getResponse().getWriter().write(new JSONObject().toString());
System.out.println(json.toString());
} catch (IOException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}
}
public IndexService getIndexService() {
return indexService;
}
public void setIndexService(IndexService indexService) {
this.indexService = indexService;
}
public String getOrderType() {
return orderType;
}
public void setOrderType(String orderType) {
this.orderType = orderType;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
首页function ajaxAction() {
var url="/ajaxAction.action"
var date=new Date();
var divTable = $("#divTable");
divTable.html("/common/image/blue-loading.gif' />");
var tmpurl = encodeURI(url);
$.ajax({
url:tmpurl,
type:'post',
data:{pageCount:1,id:4,date:date},
dataType:'text',
timeout:,
error: function(e) {},
success: function(result){
divTable.html(result);
}
});
}
function ajaxNoAction(){
var url2="/ajaxNoAction.action"
var divName = $("#divName");
var date=new Date();
divName.html("/common/image/blue-loading.gif' />");
var tmpurl2 = encodeURI(url2);
$.ajax({
url:tmpurl2,
type:'post',
data:{id:10,date:date},
dataType:'json',
timeout:,
error: function(e) {
},
success: function(json){
divName.html(json['userName']);
}
});
}
function ajax(){
ajaxAction();
ajaxNoAction();
}
序号 | 姓名 | 出生年月 |
---|---|---|
Struts2下使用jsonplugin及jquery完成ajax功能 从以下网址' target='_blank'>http://code.google.com/p/jsonplugin/downloads/list下载JSON插件的JAR包(新版本是0.32),并加到工程的相应目录下。从如下网址http://docs.jquery.com/Downloading_jQuery下载jquery所需文件。(建议下载稳定版本,不然会出现莫名其妙的错误)2. 配置相应的xml文件,为ajax请求提供数据:
/p>
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
配置有两处与通常的action配置不同,一处是扩展了json-default, json-default”是在jsonplugin-0.30.jar包里的struts-plugin.xml中定义的,文件内容如下:
/p>
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
另一处是定义了返回类型为json,会将response中的返回数据转化为json对象。
3.在Action中的定义。定义返回对象,并添加get,set方法。返回的数据可以根据需要格式成json形式(json格式如{1:test,2:test}),比如为二级列表提供填充内容的的数据,在页面需要进行遍历,做成json形式的,在页面遍历时也会比较方便。Action代码(部分)如下:
public String getAjaxBookChannelList() {
StringBuffer sb = new StringBuffer();
bookChannelList = bookService.getBookChannelList();
if (bookChannelList.size() > 0) {
int j = bookChannelList.size();
sb.append("{");
for (int i = 0; i < j; i++) {
BookChannel bc = (BookChannel) bookChannelList.get(i);
sb.append(bc.getId());
sb.append(":");
sb.append("\"");
sb.append(bc.getName());
sb.append("\"");
if (i != (j - 1))
sb.append(",");
}
sb.append("}");
}
strAjaxChannel = sb.toString();//返回的数据
return Action.SUCCESS;
}
对于以上JSON类型返回值 可下载 jsonobject.jar 转换
以上需下载 common-lang.jar,common-collections.jar,common-beatifulls.jar,jsonplugin.jar,common-logging.jar ,jsonobject.jar
struts 1的话 只需要把读取的数据以下列方式 读写this.getResponse().getWriter().write(new JSONObject().toString());