67,515
社区成员
发帖
与我相关
我的任务
分享
<package name="test" namespace="/" extends="struts-default,json-default">
<action name="queryOrgans" class="com.mcard.action.BOrgansAction" method="queryOrgByConditions">
<result type="json"/>
</action>
</package>
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("utf-8");
response.getResponse().getWriter().writ(jsonResult);
response.getWriter().flush();
response.getWriter().close();
后台是这样的,用ajax的话不用配置什么,假如你前台写的没有问题的话,直接在回调函数里
alert(data);应该会得到值
我比较习惯用jquery的下面的写法
$.post("<%=basePath%>/three/grade_ajaxBackInfo.action",{applyIds:applyId},function(data){
alert(data);
});
@Scope("prototype")
public class BOrgansAction extends ActionSupport {
@Resource
private OrgansService organsService;
private BOrgans borgans;
private String organId;
private String name;
private String jsonResult;
/**
* 根据条件查询部门信息
* @return
*/
public String queryOrgByConditions(){
HttpServletResponse response = ServletActionContext.getResponse();
List<BOrgans> borgansList = new ArrayList<BOrgans>();
/*JSONArray jsonArray = JSONArray.fromObject();*/
Gson gson = new Gson();
borgansList = organsService.queryOrgByConditions(organId, name);
jsonResult = gson.toJson(borgansList);
response.setContentType("application/json; charset=UTF-8");
try {
response.getWriter().write(jsonResult);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(jsonResult+"gsongsongson");
for(BOrgans bor:borgansList){
System.out.println(bor.getOrganId());
System.out.println(bor.getName());
}
return NONE;
}
public void setOrgansService(OrgansService organsService) {
this.organsService = organsService;
}
public String getOrganId() {
return organId;
}
@JSON(name="JSONRESULT")
public String getJsonResult() {
return jsonResult;
}
public void setJsonResult(String jsonResult) {
this.jsonResult = jsonResult;
}
public void setOrganId(String organId) {
this.organId = organId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
function doQuery(){
var organsId = $("#organsId").attr("value");
var name = $("#organsName").attr("value");
var result="";
$.ajax({
url:"queryOrgans.action",//queryOrgByConditions
type:"POST",
data:"organId="+organsId+"&name="+name,
dataType:"json",
beforeSend : function(XMLHttpRequest) {
$("#showOrg").text("数据加载中...");
},
successs:function(data){
alert(data.borgansList);
var orgList = eval('('+data+')');
alert("成功了");
if(orgList.length>0){
for(var i=0;i<orgList.length;i++){
result+="<tr>";
result+="<td>"+orgList[i].organsId+"</td>";
result+="<td>"+orgList[i].name+"</td>";
result+="<td>"+orgList[i].parentId+"</td>";
result+="</tr>";
}
}else{
result="没有要显示的数据!";
}
$("#showOrg").html(result);
},
error:function(data){
$("#showOrg").innerHTML-"查询机构信息失败,可能服务器忙,请重试!";
alert(eval('('+data+')'));
alert("查询机构信息失败,可能服务器忙,请重试!");
}
});
}