ajax交互Struts2的action(客户端/服务器端)
ajax交互Struts2的action(客户端/服务器端)
发布时间:2017-01-07 来源:查字典编辑
摘要:1.客户端网页代码复制代码代码如下:检测用户名是否唯一functioncreateRequest(url){http_request=fal...

1.客户端网页代码

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB18030">

<title>检测用户名是否唯一</title>

<script language="javascript">

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('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('http://10.65.9.181:8090/ajax/checkUser.jsp?user='+userName.value);

createRequest('http://10.65.9.181:8090/ajax/checkUser.action?user='

+ userName.value);

}

}

</script>

<style type="text/css">

<>

</style>

</head>

<body>

<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">

<div>

<table width="100%" height="250" border="0" cellpadding="0"

cellspacing="0">

<tr>

<td width="18%" height="54" align="right"><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"

onClick="checkUser(form1.username);"></td>

</tr>

<tr>

<td height="51" align="right"><b>密码:</b></td>

<td><input name="pwd1" type="password" id="pwd1" size="35"></td>

<td rowspan="2">

<div id="toolTip"></div>

</td>

</tr>

<tr>

<td height="56" align="right"><b>确认密码:</b></td>

<td><input name="pwd2" type="password" id="pwd2" size="35"></td>

</tr>

<tr>

<td height="55" align="right"><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>

</div>

</td>

</tr>

<tr>

<td> </td>

</tr>

</table>

</form>

</body>

</html>

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" "http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>

<package name="myPackage" extends="struts-default">

<>

<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代码,只需要保留控制编码格式的代码和<%%>之间的处理代码,这样就避免了在安卓客户端显示不必要的垃圾代码,且提高了执行效率,降低了服务器负载。

数据库截图:

ajax交互Struts2的action(客户端/服务器端)1

最终效果图:

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新AJAX相关学习
热门AJAX相关学习
编程开发子分类