2008-07-10
如何不用struts2的ajax框架实现ajax功能的问题
如果不用struts2自带的ajax的验证框架,自己实现ajax JS与Action进行交互,在struts1.x里可以这样写:
function sendURL(userAccount){
createXMLHttpRequest();
var url = "${ctx}/userAction.do?method=check&userAccount="+userAccount;
xmlHttp.onreadystatechange = callBack;
url=encodeURI(url);
//xmlHttp.setRequestHeader("Content-Type","text/html;charset=UTF-8");
xmlHttp.open("POST",url,true);
xmlHttp.send(null);
}
function callBack(){
if(xmlHttp.readyState==4){
if(xmlHttp.status == 200){
checkFlag = xmlHttp.responseText;
var message = "";
if(checkFlag != "1"){
message = "${key['check.failed']}";
alert(message);
}
}
}
}
并且不要在struts.xml里进行请求处理后的转发。
但在struts2.0里怎么实现这个ajax调用的功能,有几点不明白:
1>JS里怎么写,难道是var url = "${ctx}/check.action?userAccount="+userAccount;
2>应该需要在struts.xml里配置:
<package name="Book_CRUD" extends="struts-default" namespace="/Book">
<action name="check" class="com.cn.kevin.spring.action.BookAction" method="checkIsbn">
</action>
</package>
如果不这样声明的话,上面的check.action就不知从何而来了。但是这样子是否请求的返回被框架拦截,而不能到达页面啦? 并且这种写法我测试过,好像不行,根本就没有进入checkIsbn这个方法里。
请各位熟悉Struts2的朋友解答一下,小弟敬候,谢谢!!
评论
kevin_gzhz
2008-07-10
已经解决了,方法如下:
function sendURL(userAccount){
createXMLHttpRequest();
var url = "check.action?isbn="+userAccount;
xmlHttp.onreadystatechange = callBack;
url=encodeURI(url);
//xmlHttp.setRequestHeader("Content-Type","text/html;charset=UTF-8");
xmlHttp.open("POST",url,true);
xmlHttp.send(null);
}
在struts.xml里的
<action name="check" class="com.cn.kevin.spring.action.BookAction" method="checkIsbn">
</action>
中不写<result>标记
function sendURL(userAccount){
createXMLHttpRequest();
var url = "check.action?isbn="+userAccount;
xmlHttp.onreadystatechange = callBack;
url=encodeURI(url);
//xmlHttp.setRequestHeader("Content-Type","text/html;charset=UTF-8");
xmlHttp.open("POST",url,true);
xmlHttp.send(null);
}
在struts.xml里的
<action name="check" class="com.cn.kevin.spring.action.BookAction" method="checkIsbn">
</action>
中不写<result>标记
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 4243 次
- 性别:


- 详细资料
搜索本博客
最新评论
-
请教如何在freemarker中写 ...
推荐去问答频道提问
-- by JavaEye管理员 -
如何不用struts2的ajax框 ...
已经解决了,方法如下: function sendURL(userAccount ...
-- by kevin_gzhz -
请教Ruby中构造函数的问题
ruby不支持方法重载,因为ruby是动态类型语言,所以方法重载可以通过缺省参数 ...
-- by ye_jian_hui -
请教Ruby中构造函数的问题
还请@simohayha说明一下我上面那种写法失败的原因,还有代码instanc ...
-- by kevin_gzhz -
请教Ruby中构造函数的问题
你可以这样来写: class Abc attr_accessor :na ...
-- by simohayha






评论排行榜