struts2+json+Jquery的问题 100
我在action组件中这样定义publicStringsearch()throwsException{System.out.println(this.getKeyword...
我在action组件中这样定义
public String search() throws Exception{
System.out.println(this.getKeywords());
Map<String, List<House>> map=new HashMap<String, List<House>>();
map.put("house", new HouseBizImpl().findHouse(this.getKeywords()));
System.out.println("map的值"+map);
JSONObject obj=JSONObject.fromObject(map);
//调用json对象的toString方法转换为字符串然后赋值给result
System.out.println(obj.toString());
result=obj.toString();
return "success";
}
能打印出Map来
我在xml中这样配置
<package name="sajax" extends="json-default" namespace="/sajax">
<!-- 搜索房屋信息 -->
<action name="search" class="com.action.HouseAction" method="search">
<result type="json">
<param name="root">result</param>
</result>
</action>
</package>
然后在js文件中这样写
function Search() {
var keywords = $("#keywords").val();
$.ajax(
{
type:"post",
url:"./sajax/search.action",
data:"keywords="+keywords,
dataType:"json",
success:function(data){
alert("success");
}
}
);
}
有什么错误么 .一直没有什么效果...求解 展开
public String search() throws Exception{
System.out.println(this.getKeywords());
Map<String, List<House>> map=new HashMap<String, List<House>>();
map.put("house", new HouseBizImpl().findHouse(this.getKeywords()));
System.out.println("map的值"+map);
JSONObject obj=JSONObject.fromObject(map);
//调用json对象的toString方法转换为字符串然后赋值给result
System.out.println(obj.toString());
result=obj.toString();
return "success";
}
能打印出Map来
我在xml中这样配置
<package name="sajax" extends="json-default" namespace="/sajax">
<!-- 搜索房屋信息 -->
<action name="search" class="com.action.HouseAction" method="search">
<result type="json">
<param name="root">result</param>
</result>
</action>
</package>
然后在js文件中这样写
function Search() {
var keywords = $("#keywords").val();
$.ajax(
{
type:"post",
url:"./sajax/search.action",
data:"keywords="+keywords,
dataType:"json",
success:function(data){
alert("success");
}
}
);
}
有什么错误么 .一直没有什么效果...求解 展开
3个回答
展开全部
你好,这样看也看不错来。这样吧,先调试一下。看下后台的程序对不对。
你先自己简单的先一个表单,然后提交一下。看看正确不,主要是看后台能否得到数据并正确响应。如果都能,那么就在ajax这块找找问题。如果后台没有输出,那么就看日志,问题也就好排除了。
你先自己简单的先一个表单,然后提交一下。看看正确不,主要是看后台能否得到数据并正确响应。如果都能,那么就在ajax这块找找问题。如果后台没有输出,那么就看日志,问题也就好排除了。
更多追问追答
追问
我后台能接收前面传来的数据 我估计是回调时错了
追答
那你的意思是,success那个消息框弹不出来吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你既然用了Struts2的的json配置了
那么action就不用你那么写了;
给你个例子,下面的
str和n就是直接放到json里面了
不用你在out.print了
private find userDao;
public String str;
public String n;
public String aa(){
System.out.println(str);
List list=userDao.findAll();
this.n=list.size()+"";
//System.out.println(list.size());
return SUCCESS;
}
public void setUserDao(find userDao) {
this.userDao = userDao;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public String getN() {
return n;
}
public void setN(String n) {
this.n = n;
}
前台
$.post(url,{str:str},function(data){
$.each(data,function(id,item){
$("#dd").append("str:"+item.str+";")
$("#dd").append("n:"+item.n+";<br>")
})
},"json");
那么action就不用你那么写了;
给你个例子,下面的
str和n就是直接放到json里面了
不用你在out.print了
private find userDao;
public String str;
public String n;
public String aa(){
System.out.println(str);
List list=userDao.findAll();
this.n=list.size()+"";
//System.out.println(list.size());
return SUCCESS;
}
public void setUserDao(find userDao) {
this.userDao = userDao;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public String getN() {
return n;
}
public void setN(String n) {
this.n = n;
}
前台
$.post(url,{str:str},function(data){
$.each(data,function(id,item){
$("#dd").append("str:"+item.str+";")
$("#dd").append("n:"+item.n+";<br>")
})
},"json");
追问
我是在前台传一个参数给action .通过这个参数查询 返回的是List对象的 .然后前台页面上通过标签显示最终的答案的
追答
public List list;
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public String aa(){
System.out.println(str);
list=userDao.findAll();
this.n=list.size()+"";
//System.out.println(list.size());
return SUCCESS;
}
前台
$.post(url,{str:str},function(data){
$.each(data.list,function(id,item){
//item这里代表集合中的对象;我放的是用户,item.name就是对象中的name属性
$("#dd").append("list:"+item.name+";")
})
},"json");
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JSONObject obj=JSONObject.fromObject(map);
错了
错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询