ajax与struts1整合,jquery ajax 与 struts1和 struts 2

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("'<%=basePath%/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("'<%=basePath%/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());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值