浏览 2854 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-07-10
如果不用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的朋友解答一下,小弟敬候,谢谢!! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间: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>标记 |
|
返回顶楼 | |
发表时间:2009-03-01
请问一下,你的com.cn.kevin.spring.action.BookAction里的execute方法是怎么写的啊?怎么得到传过来的值啊?
|
|
返回顶楼 | |