首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

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

2013-10-21 
struts2+传统ajax怎么实现 求高手帮助 在网上找的没有一个可以用的,%@ page languagejava importjav

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 呗,那万应多简单、好用
------解决方案--------------------


public void execute() throws Exception {
      HttpServletResponse response = ServletActionContext.getResponse();
      PrintWriter pw = super.getResponse().getWriter();
      pw.print("Hello World! This is a text string response from a Struts 2 Action.".getBytes("UTF-8"));
      pw.flush();
      pw.close();        
       
    }
[解决办法]
别的我就不多说了,只是提醒一下,做测试的话不要用360浏览器,那家伙改的太对了,Ajax很难正常运行。。
当然用JQuery另谈。。
[解决办法]
看了你的需求,我准备录一个视频,到时候给你分享,java.javasm.com,你这种需求,我以前学习的时候也遇见过。我也找了很多地方都没有找到一个适用的。
[解决办法]

引用:
Quote: 引用:

public void execute() throws Exception {
      HttpServletResponse response = ServletActionContext.getResponse();
      PrintWriter pw = super.getResponse().getWriter();
      pw.print("Hello World! This is a text string response from a Struts 2 Action.".getBytes("UTF-8"));
      pw.flush();
      pw.close();        
       
    }

朋友你好,你这个还得使用HttpServlet的东西啊  不用这个不行吗 


struts2同样使用了HttpServlet,只不过封装了你看不到罢了
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

public void execute() throws Exception {
      HttpServletResponse response = ServletActionContext.getResponse();
      PrintWriter pw = super.getResponse().getWriter();
      pw.print("Hello World! This is a text string response from a Struts 2 Action.".getBytes("UTF-8"));
      pw.flush();
      pw.close();        
       
    }

朋友你好,你这个还得使用HttpServlet的东西啊  不用这个不行吗 


struts2同样使用了HttpServlet,只不过封装了你看不到罢了


引用:
Quote: 引用:

public void execute() throws Exception {
      HttpServletResponse response = ServletActionContext.getResponse();
      PrintWriter pw = super.getResponse().getWriter();
      pw.print("Hello World! This is a text string response from a Struts 2 Action.".getBytes("UTF-8"));
      pw.flush();
      pw.close();        
       
    }

朋友你好,你这个还得使用HttpServlet的东西啊  不用这个不行吗 


struts2里面该用HttpServletResponse还是得用啊。不然你连response对象都获取不到呢。

热点排行