下面是我的所有代码:
这是action :
package com.squall.oa.action;import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.squall.oa.model.Person;
import com.squall.oa.service.IPersonService;
import com.squall.oa.util.PagerModel;@SuppressWarnings("serial")
@Scope("prototype")
@Controller("PersonOpAction")
public class PersonAction extends ActionSupport implements ModelDriven <Person> {


@Autowired
@Qualifier("personService")
private IPersonService personService;
private Person person = new Person();
private int id;
private int orgId;
private String tag;
@Override
public String execute() throws Exception {
PagerModel pm = personService.searchPersons();
ServletActionContext.getRequest().setAttribute("pm", pm);
return SUCCESS;
}

public String addPerson() throws RuntimeException {
System.out.println(person.getName());
personService.addPerson(person, orgId);
tag = "success";
return tag;
}

public String delPerson() throws RuntimeException {
System.out.println("id: " + id);
personService.deletePerson(id);

return "op_success";
}
public String getTag() {
return tag;
}
public void setTag(String tag) {
this.tag = tag;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public int getOrgId() {
return orgId;
} public void setOrgId(int orgId) {
this.orgId = orgId;
}

public Person getModel() {
return person;
} public Person getPerson() {
return person;
} public void setPerson(Person person) {
this.person = person;
}

}
这是前台的JSP页面上的JS: var strMsg;
function AddPersonAction(){
var result;
DWRActionUtil.execute({
namespace:'/person',
action:'personAdd',
executeResult:'false'
}, 'frmPersonAdd', PersonAddCB);
}

function PersonAddCB(data){
for (var i in data) 
          { 
         alert(data[i]); 

result = data.tag;

if ("success" == result){
alert('ok');
}else{
alert('failed');
}

}下面是我的PersonAction.xml            <!-- 添加人员信息 -->
<action name="personAdd" class="PersonOpAction" method="addPerson">
<result name="success" type="redirect">/person/add_person.jsp</result>
<result name="input">/person/add_person.jsp</result>
</action>

通过DWR 添加person到数据库是没有问题的, 但是addPerson的返回值 tag  就是一直没有,不知道为什么!总是NULL!
for (var i in data) { 
    alert(data[i]); 

这句话一直打印NULL? 请问怎么回事? 谢谢大家!