struts-ajax配置实例
来源:互联网 发布:网络视频节目策划 编辑:程序博客网 时间:2024/05/17 05:02
本文主要介绍已有struts2项目中进行ajax异步调用的配置过程
(1)原有项目中导入相关Jar包
json-lib-2.1-jkd15.jar
struts2-jsonplugin-2.2.3.jar
下载地址:http://download.csdn.net/detail/gf05011/4023308 (免费)
(2)jsp页面的ajax函数调用
....
<script type="text/javascript">
function postUserInfo()
{
var name = $("#name").val();
var password=$("#password").val();
$.post("pages/test/viewList.action",{"username":username,"password":password},callback,"json"); //struts配置文件要有响应的方法viewList
}
function callback(data)//异步调用返回时调用此函数
{
$("#testDetail table").remove();//删除原有记录
//map对象的取值:modelMap是后台封装好的数据结构
var modelMap= data.modelMap ;
var model = modelMap.model;
//产生DOM元素
var table = "<table ><tr><td>用户名称:</td><td>用户密码:</td></tr>" ;
$.each(model,function(id,item){
var tr = "<tr onclick=bindID('" +item.username+ "')><td>"+ item.username+"</td><td>"+item.password+"</td></tr>";
table = table+tr ;
});
table = table + "</table>"
$("#testDetail").append(table); //添加记录
}
</script>
...
<form name=eform id="eform" method="post" onsubmit="return false;">
用户名次:<input type="text" id="name" name="user.name"/><br>
用户密码:<input type="text" id="password" name="user.password"/><br>
<input type="button" value="submit" name="submit" onclick="postUserInfo();"/>//提交按钮,调用ajax函数postUserInfo()
</form>
<div id="showUserInfo"></div> //ajax返回数据内容的显示区域
.....
(3) struts配置文件user.xml配置响应方法
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="test" namespace="/pages/test" extends="json-default">
<action name="viewList" class="com.htjs.action.test.TestAction" method="viewList">
<result type="json"/><!-- 处理类返回的结果是原页面 -->
</action>
</package>
</struts>
(4)动作类TestAction.java
public class TestAction extends ActionSupport implements ServletRequestAware{
//该类继承了ActionSupport类。这样就可以直接使用SUCCESS, LOGIN等变量和重写execute等方法
private static final long serialVersionUID = 4787323253923443929L;
//后台的selvet应该进行序列化前台json数据后,才能进行接收
private Test test;//Test对象必须序列化
private Map modelMap = new HashMap() ;;//modelMap对象必须序列化
}
public String viewList() throws IOException, OgnlException, JSONException, SQLException {
List<Test> list = new LinkedList<Test>();//list存储多个Tets对象实例
Test test1 = new Test();
test1.setUsername("aaa");
test1.setPassword("111");
list.add(test1 );
test1.setUsername("bbb");
test1.setPassword("222");
list.add(test1 );
modelMap.put("model", list);//将list对象放入modelMap对象,返回到页面
return SUCCESS;
// test对象序列化方法
public Test getTest() {
return test;
}
public void setTest(Test test) {
this.test = test;
}
// map对象序列化方法
public Map getModelMap() {
return modelMap;
}
public void setModelMap(Map modelMap) {
this.modelMap = modelMap;
}
}
(5) Test对象:Test.java
public class Test {
private String username ;
private String password ;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
- struts-ajax配置实例
- ajax + struts 小实例
- struts+json+ajax实例
- ajax/dwr/struts实例开发
- ajax/dwr/struts实例开发
- ajax/dwr/struts实例开发
- sping+struts+hibernate+ajax配置
- struts+spring+hibernate配置实例
- struts+spring+hibernate配置实例
- ajax/dwr/struts实例开发(转)
- ajax/dwr/struts实例开发(下)
- AJAX+Struts+json简单的实例
- Struts+Jquery+Ajax+Json应用实例
- ajax 之 dwr配置实例
- struts 多模块开发实例及配置
- 简单的struts+spring+hibernate配置实例
- struts开发笔记--配置+简单实例
- Struts 2的配置与简单实例
- vxworks 信号量的用法
- CxImage转换成IplImage
- C++报错集合:error: 'CppUnit::TestFixture' is an inaccessible base of 'LMQueryConnectionTest'
- 苹果平台上的媒体流播放技术HLS
- unsigned char陷阱
- struts-ajax配置实例
- Android HAL 实例——mokoid LEDTest
- Trigger-demo--新增 更新 和删除的一个 例子
- C语言常用排序全解
- poj3590
- FreeType字形约定
- 黑马程序员------面向对象之封装 继承 多态
- 谷歌收购摩托罗拉移动扫清障碍:获专利盾牌
- moss 无法对开始地址 <http://....> 进行爬网。