前台:
<script type="text/javascript">
function check(){
var name=document.getElementsByName("name");
alert(name);
var xmlhttp=null;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var src=xmlhttp.responseText;
alert(src);
var json=eval('('+src+')');
alert(json.age);
document.getElementById("result").innerHTML=json.name;
}else{
document.getElementById("result").innerHTML="2";
}
}
xmlhttp.open("post","/struts2_test01/ajax.action",true);
xmlhttp.send();
}
2.后台:
a.<package name="/user" extends="struts-default,json-default">注意继承json-default
b.导入struts2-json-plugin-2.1.8.1.jar
c.struts.xml配置
<!-- json 返回stream test
<action name="ajax" class="com.yang.user.Login" method="ajaxMethod">
<result name="AJAX" type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">isStream</param>
<param name="bufferSize">1024</param>
</result>
</action>
-->
<action name="ajax" class="com.yang.user.Login" method="ajaxMethod">
<result name="AJAX" type="json"></result>
</action>
d.public String ajaxMethod(){
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
ByteArrayOutputStream output=new ByteArrayOutputStream();
response.setCharacterEncoding("UTF-8");
response.setContentType(ContentType_JSON);
//1.test how to return a string
// String info="这是我的第一个AJAX测试!";
// try {
// output.write(info.getBytes("UTF-8"));
// this.isStream=new ByteArrayInputStream(output.toByteArray());
// }catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }finally{
// try {
// output.close();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
// return "AJAX";
//2.test how to return a json
JSONObject json1=new JSONObject();
JSONArray jsons=new JSONArray();
json1.put("name", "yangdingcai");
json1.put("age", 20);
jsons.add(json1);
JSONObject json2=new JSONObject();
json2.put("name", "yangdingcai");
json2.put("age", 20);
jsons.add(json2);
System.out.println("json="+json1.toString());
System.out.println("jsons="+jsons.toString());
try {
response.getWriter().write(json2.toString());
response.getWriter().flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
response.getWriter().close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return "AJAX";
}
分享到:
相关推荐
在Struts2中使用Ajax,可以实现页面的部分更新,提高用户体验,而无需每次操作都刷新整个页面。下面将详细介绍如何在Struts2中集成和使用Ajax技术。 1. **Ajax简介**: Ajax(Asynchronous JavaScript and XML)是...
在Struts2中,Jquery可以与Ajax结合使用,实现页面的无刷新更新。 Ajax(Asynchronous JavaScript and XML)技术允许前端与后台进行异步通信,无需整个页面刷新,提高了用户体验。在Struts2框架下,我们可以使用...
此外,为了更好地展示数据,可能还需要在Struts2中使用Interceptor(拦截器),例如,`params`拦截器用于将请求参数绑定到Action,`validation`拦截器负责验证表单数据,`workflow`拦截器管理Action的生命周期。...
7. **示例代码**:在提供的压缩包文件“struts2中实现AJAX的小实例”中,可能包含了一个简单的Struts2 Action、对应的JSP页面以及JavaScript代码。Action类可能有一个返回JSON数据的方法,JSP页面可能包含一个AJAX...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它被广泛应用于Java Web开发中,提供了灵活的架构支持。Ajax(异步JavaScript和XML)技术则为Web应用程序带来了增强的用户体验,允许页面部分刷新,而无需整体刷新...
3. **JSON结果映射**:在Struts2中,你可以使用`@Param`注解来将JSON对象的属性映射到Action的成员变量上,或者直接在Action中构建一个Map来接收所有的JSON数据。 4. **安全考虑**:使用Ajax和JSON时,要注意跨站...
在Struts2的showcase应用中,JSON插件通过FreeMarker模板来展示如何输出JSON结果,虽然这种方式有一定的灵活性,但不如直接使用JSON插件方便。 以下是一个使用JSON插件的例子: 首先,你需要从Google Code项目...
通过以上步骤,你可以在Struts2中实现一个基本的Ajax应用。在实际项目中,你可能还需要考虑更多的细节,如数据安全、缓存控制、异步操作的顺序管理等。同时,随着前端技术的发展,现代Web应用可能更倾向于使用React...
Struts2对Ajax的支持,不仅体现在其对流行Ajax框架的集成上,更在于它通过一系列易于使用的标签和功能,极大地简化了Ajax技术的应用难度,使得开发者能够更加专注于业务逻辑的实现,而不是陷入技术细节的泥潭。...
### Struts2中常用的Ajax标签解析 在Struts2框架中,为了简化Ajax通信过程,引入了一系列便捷的Ajax标签,这些标签能够有效地提高Web应用程序的交互性和用户体验。本文将深入探讨Struts2中常用的Ajax标签及其用法,...
在"从Struts应用开发框架转移到Struts 2 WEB框架 教程.doc"中,可能详细讲解了以下几个方面: 1. **Struts 2的基础概念**:包括Struts 2的核心组件、配置文件、生命周期等基本知识。 2. **Action类和结果类型**:...
在Struts应用中使用Ajax
Struts2通过集成jQuery插件和其他库,使得在基于Struts2的应用中集成AJAX变得简单易行。 首先,我们来理解一下Struts2是如何实现AJAX支持的。Struts2提供了一个名为`struts2-jquery-plugin`的插件,它扩展了Struts2...
开发者可以通过解压这个rar文件,查看和学习如何在Struts应用中使用Ajax技术。 总的来说,这个项目提供了一个实战性的例子,展示了如何在Struts框架下利用Ajax实现Web应用的异步交互。开发者可以从中学到如何配置...
Struts2、jQuery和Ajax是Web开发中的三个关键组件,它们共同构成了文件异步上传的基础框架。这个项目是在MyEclipse环境下实现的一个简单的文件上传功能,让我们深入了解一下这些技术及其在文件上传中的应用。 首先...
在描述中提到的"简单的struts2中应用jquery ajax小例子",可能包含以下几个步骤: 1. **配置Struts2**:首先,你需要在`struts.xml`配置文件中定义Action,例如: ```xml <action name="ajaxAction" class=...
在Struts2中实现AJAX(Asynchronous JavaScript and XML)功能,可以增强用户界面的交互性和响应性,而无需刷新整个页面。本篇文章将详细介绍在Struts2框架下实现AJAX功能所需的jar包及其作用。 首先,我们需要了解...
在这个"struts2+ajax+jquery"的主题中,我们将深入探讨如何利用Struts2、jQuery和Ajax技术实现Web页面的异步交互。 首先,Struts2作为MVC框架,它的核心是Action,它负责处理用户的请求,并通过配置的Result返回...
在Struts2中实现Ajax交互,通常需要依赖一些特定的库和插件。以下是对"ajax-struts2需要的3个包"的详细解释: 1. **json.js**: 这是一个JavaScript库,用于处理JSON(JavaScript Object Notation)数据格式。JSON...