javascript代码实例教程-ajax交互Struts2的action(1)

发布时间:2019-04-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-ajax交互Struts2的action(1)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

1.客户端网页代码


<!DOCTYPE htML PubLIC "-//W3C//DTD HTML 4.01 TransITional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<;meta http-equiv="Content-type" content="text/html; charset=GB18030">
<title>检测用户名是否唯一</title>
<script language="javascript">
&nbsp;function createRequest(url) {
  http_request = false;
  if (window.XMLHttPRequest) { // 非IE浏览器
   http_request = new XMLHttpRequest(); //创建XMLHttpRequest对象
  } else if (window.ActiveXObject) { // IE浏览器
   try {
    http_request = new ActiveXObject("Msxml2.XMLHTTP"); //创建XMLHttpRequest对象
   } catch (e) {
    try {
     http_request = new ActiveXObject("Microsoft.XMLHTTP"); //创建XMLHttpRequest对象
    } catch (e) {
    }
   }
  }
  if (!http_request) {
   alert("不能创建XMLHttpRequest对象实例!");
   return false;
  }
  http_request.onreadystatechange = getResult; //调用返回结果处理函数
  http_request.open(&#39;GET', url, true); //创建与服务器的连接
  http_request.send(null); //向服务器发送请求
 }
 function getResult() {
  if (http_request.readyState == 4) { // 判断请求状态
   if (http_request.status == 200) { // 请求成功,开始处理返回结果
    document.getElementById("toolTip").innerHTML = http_request.responseText; //设置提示内容
    document.getElementById("toolTip").style.display = "block"; //显示提示框
   } else { // 请求页面有错误
    alert("您所请求的页面有错误!");
   }
  }
 }
 function checkUser(userName) {
  if (userName.value == "") {
   alert("请输入用户名!");
   userName.focus();
   return;
  } else {
   //createRequest('https://10.65.9.181:8090/ajax/checkUser.jsp?user='+userName.value);
   createRequest('https://10.65.9.181:8090/ajax/checkUser.action?user='
     + userName.value);
  }
 }
</script>
<style type="text/css">
<!--
#toolTip {
 position: absolute;
 left: 331px;
 top: 39px;
 width: 98px;
 height: 48px;
 padding-top: 45px;
 padding-left: 25px;
 padding-right: 25px;
 z-index: 1;
 display: none;
 color: red;
 background-image: url(images/tooltip.jpg);
}
-->
</style>
</head>
<body style="margin: 0px;">
 <form method="post" action="" name="form1">

  <table width="509" height="352" border="0" align="center"
   cellpadding="0" cellspacing="0" background="images/bg.gif">
   <tr>
    <td height="54"> </td>
   </tr>
   <tr>
    <td height="253" valign="top">
     <p style="position: absolute;">


      <table width="100%" height="250" border="0" cellpadding="0"
       cellspacing="0">
       <tr>
        <td width="18%" height="54" align="right" style="color: #8e6723"><b>用户名:</b></td>
        <td width="49%"><input name="username" type="text"
         id="username" size="32"></td>
        <td width="33%"><img src="images/checkBT.jpg" width="104"
         height="23" style="cursor: hand;"
         onClick="checkUser(form1.username);"></td>
       </tr>
       <tr>
        <td height="51" align="right" style="color: #8e6723"><b>密码:</b></td>
        <td><input name="pwd1" type="password" id="pwd1" size="35"></td>
        <td rowspan="2">
         <p id="toolTip"></p>
        </td>
       </tr>
       <tr>
        <td height="56" align="right" style="color: #8e6723"><b>确认密码:</b></td>
        <td><input name="pwd2" type="password" id="pwd2" size="35"></td>
       </tr>
       <tr>
        <td height="55" align="right" style="color: #8e6723"><b>E-mail:</b></td>
        <td colspan="2"><input name="email" type="text" id="email"
         size="45"></td>
       </tr>
       <tr>
        <td> </td>
        <td colspan="2"><input type="image" name="imageField"
         src="images/registerBt.jpg"></td>
       </tr>
      </table>
     </p>
    </td>
   </tr>
   <tr>
    <td> </td>
   </tr>
  </table>
 </form>
</body>
</html>值得注意的是此处核心代码:

//createRequest('https://10.65.9.181:8090/ajax/checkUser.jsp?user='+userName.value);//与jsp页面交互,可能不通过数据库
createRequest('https://10.65.9.181:8090/ajax/checkUser.action?user='+ userName.value);//与struts交互,通过后台处理。注意此处的写法。
2.服务器端代码


Action类的代码


package com.action;

import java.util.Map;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.xzy.UserDAO;

public class CheckUserAction extends ActionSupport{
 private String user;
 public String findUserByName(){
  String info = null;
  UserDAO userdao = new UserDAO();
  if(userdao.findUserByName(user)){
   //info="用户名已经被注册";
   Map map = (Map)ActionContext.getContext().get("request");
   map.put("info", "用户名已经被注册");
   return "success";
  }else{
   //info="用户名可以注册";
   Map map = (Map)ActionContext.getContext().get("request");
   map.put("info", "用户名可以注册使用");
   return "fail";
  }
 }
 
 public String getUser() {
  return user;
 }
 
 public void setUser(String user) {
  this.user = user;
 }  
 }
struts.xml配置


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//apache Software Foundation//DTD Struts configuration 2.1//EN" "https://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="myPackage" extends="struts-default">
  <!-- 定义action -->
  <action name="checkUser" class = "com.action.CheckUserAction" method="findUserByName">
   <!-- 定义处理成功后的映射页面 -->
   <result >/info.jsp</result>
  </action>
 </package>
</struts>   
info.jsp为显示信息页面


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 <%=request.getAttribute("info")%>
info.jsp是jsp页面,对于与安卓客户端交互的jsp页面而言,尽量略去不必要的html代码,只需要保留控制编码格式的代码和<%%>之间的处理代码,这样就避免了在安卓客户端显示不必要的垃圾代码,且提高了执行效率,降低了服务器负载。

 

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-ajax交互Struts2的action(1)全部内容,希望文章能够帮你解决javascript代码实例教程-ajax交互Struts2的action(1)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。