我用的是jquery的form插件,我现在想从struts2中返回一个list到页面,然后用ajax的方式接受但是我不知道为什么接受不到这是struts.xml 配置文件
<action name="findUsers" class="com.yin.action.UserAction" method="findUsers">
<result name="success">/login.jsp</result>
<result name="ERROR">/fail.jsp</result>
action中的代码
public String findUsers(){
list=userService.findAllRoleByHql();
System.out.println(list.size());
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(mes);
}
</script>高手指教
<action name="findUsers" class="com.yin.action.UserAction" method="findUsers">
<result name="success">/login.jsp</result>
<result name="ERROR">/fail.jsp</result>
action中的代码
public String findUsers(){
list=userService.findAllRoleByHql();
System.out.println(list.size());
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(mes);
}
</script>高手指教
解决方案 »
- 数据库设计问题
- 帮我把数据库转换一下,我刚从网上下了一个源码,但是它用的是mysql数据库,我必须得用sql2000的,请问怎么更改。hibernate的配置文件如下:
- 弱弱的问一个js的问题
- 关于DWR的一个问题,请高人解答
- 转行没成功
- 我在服务器上装jdk1.4.2时,装不上提示 Semi-Colon found in selected path 请帮帮忙吧,谢了
- CSDN 首页中的登录和免费注册的超连接时出现的方框是如何实现的呀?
- jsf问题,请指教
- 为何执行到executeQuery时会死掉?
- 有关首页数据的显示
- java.sql.SQLException: 违反引用约束 是为什么
- struts2+jxl 导出页面表格 为 excel
不能直接接受一个集合的.
action:
定义一个返回集合 list result;
执行方法为result赋值struts.xml:
让package继承自json-default
。。处理页面上直接接收了可以了。可以去网上找个demo
function validatorloginName(queryDate) {
$.ajax( {
type : "POST",
url : "product.do?oper=getData&&qr=" + queryDate,
success : function(data) {
dates(data);
}
});
}
ACTION
//你要将需要的信息写入到输出流里面
PrintWriter pw = response.getWriter();
pw.print(date); //这里面不能写入LIST类型的 有些什么类型你自己看下参数就可以了。
<result type="json">
</result>
</action><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>
上面那个struts.xml错了,是这个<action name="findUsers" class="com.yin.action.UserAction" method="findUsers">
<result type="json">
</result>
</action>
$.ajax({
type:"post",
url:"/Babyfirst/cms/articleTypeAction!getChildArticleType.action",
data:"pid="+pid,
dataType:"json",
success:function(data){
for(var i = 0;i < data.length;i++){
menuArr[i] = [data[i].typeName,data[i].id];
}
//改变下拉
menuChange(nameStr, pid, len);
}
}
);
用ajaxanywhere了。可以返回所有的对象。跟平常用的struts的没有什么区别。哈哈
写错了,一般用DWR+JQUERY相结合的方式比较快捷,处理ajax还是DWR强悍
StringBuffer sb = new StringBuffer(str1);
sb.append("+123");
String responseText = sb.toString(); // 回传处理的结果,到之前页面
response.getWriter().println(responseText); <------- 用这种方式将值 传回给页面
由ajax接收jsonAjax样式是
$.ajax({
type: "POST",//请求格式 post 或 get
url: "some.do",//请求的action
dataType :"json",//设置返回类型为json格式
data: "name=John&location=Boston",//向后台传递的数据
success: function(msg){//如果返回成功 这调用success函数 否则调用 error 函数
alert( "Data Saved: " + msg );
}
});
楼主注意 result 必须有name属性<action name="findUsers" class="com.yin.action.UserAction" method="findUsers">
<result name="success" type="json">
</result>
</action>
public String findUsers()
{
return "success";//如果继承了ActionSupport 可以写:return SUCCESS;
}
我刚才试了下,可以接收到。不过我没用list。等我用list看看啥效果。
贴下代码吧。
xml: <package name="json" namespace="/json" extends="json-default">
<action name="getdata" class="com.test.struts2.JsonAction">
<result name="success" type="json"></result>
</action>
</package>
java:package com.test.struts2;import java.util.ArrayList;
import java.util.List;public class JsonAction {
private String a;
private List<String> list;
public String getA() {
return a;
} public void setA(String a) {
this.a = a;
} public List<String> getList() {
return list;
} public void setList(List<String> list) {
this.list = list;
} public String execute()
{
list = new ArrayList<String>();
list.add("Hello");
list.add("world");
return "success";
}}jsp:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>json页面</title>
<script type="text/javascript" src="js/jquery-1.5.2.min.js"></script>
<script type="text/javascript">
$(function(){
$("#test").bind('click',function()
{
//alert($("#a").val());
$.ajax({
type: "POST",
url: "json/getdata.action",
data: "a="+$("#a").val(),
success: function(msg){
for(name in msg)
alert(name+":"+msg[name]);
},
error:function(err){
alert("调用ajax时发生错误!");
}
});
});
});
</script>
</head>
<body>
<s:textfield name="a" label="字符串"></s:textfield>
<button id="test">测试</button>
</body>
</html>
结果:list:Hello,world