微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax 异步提交 struts2 表单

Struts2 对Ajax提供了很好的支持,使用的是DOJO,如果你不会使用DOJO DWR的话,其实使用Struts2 提供的Ajax JSP tags 也是可以的,使用很简单。
使用名为Stream的Result 即可。
配置文件

Java代码
  1. <actionname="ajaxAction"class="com.yaxing.action.UnitInfoAction"
  2. method="findByUU">
  3. <resulttype="stream">
  4. <paramname="contentType">text/html</param>
  5. <paramname="inputName">inputStream</param>
  6. </result>
  7. </action>


Action:
Java代码
  1. publicStringfindByUU()throwsException{
  2. try{
  3. Mapsession=ActionContext.getContext().getSession();
  4. Stringids=session.get("userId").toString();
  5. listUnitInfo=this.unitInfoService.findByUU(java.net.URLDecoder.decode(userName,"UTF-8"),ids);
  6. if(listUnitInfo.size()>0){
  7. inputStream=newByteArrayInputStream(
  8. "true".getBytes("utf-8"));
  9. }else{
  10. inputStream=newByteArrayInputStream(
  11. "此单位帐号可以使用!".getBytes("utf-8"));
  12. }
  13. }catch(Exceptione){
  14. e.printstacktrace();
  15. returnINPUT;
  16. }
  17. returnSUCCESS;
  18. }


页面
Java代码
  1. <tr>
  2. <tdheight="15"bgcolor="#FFFFFF">
  3. <divalign="center"class="STYLE1">
  4. <divalign="center">单位名称</div>
  5. </div>
  6. </td>
  7. <tdheight="15"bgcolor="#FFFFFF">
  8. <divalign="center">
  9. <spanclass="STYLE1"><inputtype="text"id="name"
  10. name="unitInfo.name"style="width:120px"/></span>
  11. </div></td>
  12. <tdheight="15"bgcolor="#FFFFFF">
  13. <divalign="center">
  14. <spanclass="STYLE1">
  15. <divid="nameTip"style="width:120px"></div></span>
  16. </div></td>
  17. </tr>

JS:
Java代码
  1. <scriptlanguage="javascript">
  2. varmyRequest;
  3. varflag;
  4. functiont1(){
  5. //准备向后台传输的数据
  6. varuserName=document.getElementById("userName1").value;
  7. alert(userName);
  8. url=encodeURI(userName);
  9. url=encodeURI(url);
  10. //Ajax
  11. myRequest=newActiveXObject("Msxml2.XMLHTTP");
  12. myRequest.onreadystatechange=t2;
  13. myRequest.open("GET","unitInfo/ajaxAction.action?userName="+url,true);
  14. myRequest.send(null);
  15. }
  16. functiont2(){
  17. if(myRequest.readyState==4){
  18. varret=myRequest.responseText;
  19. //后续处理
  20. if(ret=="true"){
  21. flag=false;
  22. document.getElementById("userName1Tip").innerHTML="单位帐号重复,无法使用";
  23. }else{
  24. flag=true;
  25. document.getElementById("userName1Tip").innerHTML="此单位帐号可以使用";
  26. }
  27. }
  28. }
  29. functioncheckForm(){
  30. returnflag;
  31. }
  32. </script>

原文地址:https://www.jb51.cc/ajax/166856.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐