当前位置: 代码迷 >> Java Web开发 >> struts2+传统ajax如何实现 求高手帮助 在网上找的没有一个可以用的
  详细解决方案

struts2+传统ajax如何实现 求高手帮助 在网上找的没有一个可以用的

热度:5765   发布时间:2016-04-11 00:03:24.0
struts2+传统ajax怎么实现 求高手帮助 在网上找的没有一个可以用的,
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<script type="text/javascript">
function createXHR() {
//编写创建XHR对象的函数
var myXHR = "";
if (window.ActiveXObject) {
//alert("IE");
myXHR = new ActiveXObject("Microsoft.XMLHTTP");
} else {
//alert("W3C");
myXHR = new XMLHttpRequest();
}
return myXHR;
}
function validate(str1,str2) {
//1.创建XHR对象
var showXHR = createXHR();
alert(showXHR);
//2.设置open方法的相关参数
url = "text_result.action?";
var data = "username=" + str1+"&pwd="+str2 ;
alert(url+data);
showXHR.open("POST", url, true);
//post方式必须要写的一句话
showXHR.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
//3.编写回调函数
showXHR.onreadystatechange = function() {
//测试通讯状态
alert(showXHR.readyState);
if (showXHR.readyState == 4) {
if (showXHR.status == 200) {

//就是接受返回值,处理返回值
var rel = showXHR.responseText;
alert(rel);
getId("ps").innerHTML = rel;
}
}
}
//4.发送请求
showXHR.send(data);
}
function getId(id) {
return document.getElementById(id);
}
</script>
  </head>
  <body>
  <form id="myForm">
    帐号:<input type="text" name="username"id="username"  /> <br>
    密码:<input type="password" name="pwd"id="pwd" /> <br>
    <input type="button" name="btn" id="btn" value="确定"  onclick="validate(getId('username').value,getId('pwd').value)" style="position: relative;"/><span id="ps" style="color: red"></span></form>
  </body>
</html>





<?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="test" extends="struts-default">
<action name="text_result" class="actions.TextResult">
<result type="stream">
<param name="contentType">text/html</param>
<param name="inputName">inputStream</param>
</result>
</action>
</package>
</struts>    




package actions;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.StringBufferInputStream;
import com.opensymphony.xwork2.ActionSupport;
 
public class TextResult extends ActionSupport  {
private String username;
private String pwd;
    public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPwd() {
return pwd;
}

public void setPwd(String pwd) {
this.pwd = pwd;
}

private InputStream inputStream;
    public InputStream getInputStream() {
        return inputStream;
    }
 
    public String execute() throws Exception {
    
      inputStream = new ByteArrayInputStream("Hello World! This is a text string response from a Struts 2 Action.".getBytes("UTF-8"));
             return SUCCESS;
       
    }

public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
}

------解决方案--------------------
这跟 struts2 没太大关系吧,它只是封装框架。你的代码运行是什么状况
------解决方案--------------------
先用jquery 呗,那万应多简单、好用
------解决方案--------------------
  相关解决方案