Action如下:
private String email;
private String content;
private Dbdao db;
private Map<String,String> addstatus;
private String result;public String execute()throws Exception {
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("application/json");
addstatus= new HashMap<String, String>();
addstatus.put("email", getEmail());
addstatus.put("content", getContent());
JSONObject jsonobj =JSONObject.fromObject(addstatus);
result=jsonobj.toString();
db=Dbdao.instance();
db.insertStatus(email, content);
return "status";
}
struts2.xml如下:
<action name="insertstatus" class="action.InsertStatus">
<result >/hello.jsp
</result>
<result type="json" name="status">
</result>
</action>
js如下:$(document).ready(function(){
$("#btn_status").click(function()
{$.getJSON("insertstatus.action",function(data){
$("#info").html("");
alert(data.content);
$("#info").append("<div><font color='green'>the content is:"+data.content+"</font></div>");
}
);
}
);
}
);
生成文件如下:
{"addstatus":{"content":"asd","email":"[email protected]"},"content":"asd","email":"[email protected]","result":"{\"content\":\"asd\",\"email\":\"[email protected]\"}"}json文件已经生成为什么,回调函数为空!
private String email;
private String content;
private Dbdao db;
private Map<String,String> addstatus;
private String result;public String execute()throws Exception {
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("application/json");
addstatus= new HashMap<String, String>();
addstatus.put("email", getEmail());
addstatus.put("content", getContent());
JSONObject jsonobj =JSONObject.fromObject(addstatus);
result=jsonobj.toString();
db=Dbdao.instance();
db.insertStatus(email, content);
return "status";
}
struts2.xml如下:
<action name="insertstatus" class="action.InsertStatus">
<result >/hello.jsp
</result>
<result type="json" name="status">
</result>
</action>
js如下:$(document).ready(function(){
$("#btn_status").click(function()
{$.getJSON("insertstatus.action",function(data){
$("#info").html("");
alert(data.content);
$("#info").append("<div><font color='green'>the content is:"+data.content+"</font></div>");
}
);
}
);
}
);
生成文件如下:
{"addstatus":{"content":"asd","email":"[email protected]"},"content":"asd","email":"[email protected]","result":"{\"content\":\"asd\",\"email\":\"[email protected]\"}"}json文件已经生成为什么,回调函数为空!
解决方案 »
- 找不到原因请高手指教
- Java新手诚心请教问题
- 整合.net java php 等等
- 现在要学EJB3.0了,请各位推荐一些资料和我好吗
- 有人熟悉URI类型吗
- 请问struts上传
- 一个关于jdbc操作sqlserver2005的问题
- 一个有关搜索的比较有难度问题,困扰了很久!大虾们帮一下忙!多谢!
- ECLIPSE整合jboss,jboss启动时出现java.net.BindException: Address already in use: JVM_Bind:8080!在线等!!!
- Java开发环境请教,谢谢
- 在eclipsez中部署struts2后的后遗症。
- 求一个连接sql2005+s2sh的小项目,只要有登录或注册功能就OK了
data.content看你的data的数据中有没有content的节点
<param name="root">addstatus</param>
</result>
改成这样试试
这样struts2才知道type="json"是什么东东!当然也可以写自己的json过滤器