我用的是form插件,请高手看清楚struts.xml中的代码<action name="findUsers" class="com.yin.action.UserAction" method="findUsers">
<result type="json">   
       </result>
</action>
action中的代码
public String findUsers(HttpServletRequest request) throws IOException{
list=userService.findAllRoleByHql();
System.out.println(list.size());
HttpServletResponse response = ServletActionContext.getResponse();
PrintWriter pw = response.getWriter();
HttpSession session=request.getSession();
this.random=(String)session.getAttribute("random");
System.out.println(random);
return SUCCESS;
}
页面代码<script type="text/javascript">
function saveadd() {
var options = {
url : 'findUsers.action',
success : callback,
type : 'post',
dataType : 'json',
clearForm : true
};
$('#addform').ajaxSubmit(options);
} function callback(mes) {
alert("dsf");
}
</script>
如果我想用ajax调用并且返回一个list集合,该怎么写!求高手指教

解决方案 »

  1.   

    用 DWR ,或是用 servlet當url。
      

  2.   

    hi 你好,回调函数是在请求状态status为success时才执行的,我看你js中指定的数据类型是JSON,而服务器端HttpServletResponse response = ServletActionContext.getResponse();获取Session后你需要设置返回的数据类型session.setContextType("application/json;charset=utf-8"),在不设置的情况默认是text/html的数据格式,你试试,希望对你有帮助!
      

  3.   

    http://xiaofancn.iteye.com/blog/988544
      

  4.   

    ++
    dataType 去掉看看能接收到返回值不 。 检查输出json字符串格式 。
      

  5.   

      System.out.println(random);是控制台输出,要pw.write(xxx), xxx可以是 Json组件转化list的结果,