Ext_json_Struts_Json_ext之间的转换
来源:互联网 发布:linux怎么复制目录 编辑:程序博客网 时间:2024/05/21 22:37
网络牛人写的我进行处理一下:
strusts.xml 配置
<package name="ext_json_struts2_json_ext" extends="json-default">
//这里一定要继承json-default否则下面的type为非法
<interceptors>
<interceptor-stackname="myDefaultStack">
<interceptor-ref name="json"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-refname="myDefaultStack"/>
<actionname="updateTaskUser" class="adminDefaultViewAction" method="updateTaskUser">
<result type="json"> // 这里要就行返回对象指定
<param name="root">optionResult</param>//这里是返回
</result>
</action>
</package>
jsp页面的js
Ext.define('Candidates', {
extend:'Ext.data.Model',
fields: [
{name: 'key', type: 'string'},
{name: 'name', type: 'string'}
]
});
//定义数据模型
var data = {
users: [
{
key:'jack1',
name:'jack1'
},
{
key: 'jack2,
name:'jack2'
}
]
};
//创建数据源
var candidatesStore = Ext.create('Ext.data.Store', {
autoLoad: true,
model: 'Candidates',
data : data,
proxy: {
type: 'memory',
reader: {
type:'json',
root:'users'
}
}
});
//这里是数据源和数据模型通过代理转化成一个库
var length = candidatesStore.getCount( );//得到该库的长度以便在js中转成json对象
var jsonCandidates= [];//json是一个数组类型 所以定义一个数组
for(var j=0;j< length;j++){
jsonCandidates.push({
key:candidatesStore.getAt(j).get('key'),
name:candidatesStore.getAt(j).get('name'),
});
}//转换成json对象
Ext.Ajax.request({
url : '<%=rootPath%>/updateTaskUser.action',
method:'post',
jsonData:{
username: 'jack',//username ,指明bean中的字段
processInstanceUUID: 'test',//processUUID,指明bean中的字段
changeCandidates :jsonCandidates //要进行提交的json
} ,
success : function(response, options) {
// popWindow.close();//返回进行关闭
}
}
javabean
public class Candidates {
private String name;
private String key;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Action
public class TestAction extends ActionSupport {
List<Candidates> changeCandidates;
String username ;
String processInstanceUUID;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public List<Candidates> getChangeCandidates() {
return changeCandidates;
}
public void setChangeCandidates(List<Candidates>changeCandidates) {
this.changeCandidates = changeCandidates;
}
public String getProcessInstanceUUID() {
return processInstanceUUID;
}
public void setProcessInstanceUUID(StringprocessInstanceUUID) {
this.processInstanceUUID =processInstanceUUID;
}
//进行action方法处理
public String updateTaskUser() {
optionResult =xxxService.xxxxx(changeCandidates,username, processInstanceUUID);
return SUCCESS;
}
}
- Ext_json_Struts_Json_ext之间的转换
- 各进制之间的转换
- 各进制之间的转换
- 各进制之间的转换
- 数据类型之间的转换
- 数据类型之间的转换
- 各进制之间的转换
- 字符串之间的转换
- 日期之间的转换
- 类型之间的转换
- 编码之间的转换
- 各进制数之间的转换
- 字符串之间的转换
- 不同类型之间的转换
- 数据类型之间的转换
- 字符串之间的转换
- 证书之间的转换
- 类型之间的转换
- 诗情画意谈设计(原创教程)
- Windows Service重启
- 降级论
- iphone开发面试1
- android 手动设置时间 过期闹钟被触发
- Ext_json_Struts_Json_ext之间的转换
- 颜色严重影响消费者购买决定
- Android无线连接打印第三方开发的实现
- 开源论坛系统
- DropdownList中item中text和value各代表的什么
- Struts2.0标签
- VC的路径
- 第四篇 黑马程序员-循环语句
- Json 扫盲