浏览 131 次
|
精华帖 (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的朋友解答一下,小弟敬候,谢谢!! 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间: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>标记 |
|
| 返回顶楼 | |


