strusts.xml 配置
<package name="Struts2_AJAX_TO_BACKGROUP" extends="json-default">
<interceptors>
<interceptor-stack name="myDefaultStack">
<interceptor-ref name="json"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myDefaultStack"/>
<action name="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( );
var jsonCandidates= [];
for(var j=0;j< length;j++){
jsonCandidates.push({
key:candidatesStore.getAt(j).get('key'),
name:candidatesStore.getAt(j).get('name'),
});
}
url : '<%=rootPath%>/updateTaskUser.action',
method:'post',
jsonData:{
username: 'jack',//username ,
processInstanceUUID: 'test',//processUUID,
changeCandidates :jsonCandidates
} ,
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;
}
}
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(String processInstanceUUID) {
this.processInstanceUUID = processInstanceUUID;
}
public String updateTaskUser() {
optionResult = xxxService.xxxxx(changeCandidates,username, processInstanceUUID);
return SUCCESS;
}
}