struts2确实一个非常棒的MVC框架。这里部分记述一下struts2对AJAX的支持。
实现AJAX有两种方式,一种是使用原生的javascript代码实现,一种是使用第三方的ajax框架(jquery,dwr,dojo等),jquery和dwr比较简单,做项目时也会经常用到。dojo暂时没有用过,不过有很多大公司的支持如IBM等。
这里主要使用jquery实现ajax。
按ajax传输的数据格式不同又可以分为三种,普通的字符串(stream),json串和XML串。 关于json和xml的知识这里不再详述,不清楚的地方可自查资料。
1.stream格式
就是普通的字符串,例如“你好”,“大家好”这些。
stream.jsp的代码如下:
<%@ 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>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function showpeople(){
$.post("streamAction.action",
{
name: $("#name").val(),
},function(returnedData, status)
{
var msg = returnedData;
alert(msg);
});
}
</script>
</head>
<body id="theBody">
name:<input type="text" id="name" /><br/>
<input type="button" onclick="showpeople();" />
</body>
</html>
StreamAction代码如下:
package com.wang.action;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import com.opensymphony.xwork2.ActionSupport;
public class StreamAction extends ActionSupport {
private String name;
private InputStream inputStream;//结果是以字节流的形式返回的,和struts2的下载一样
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
public String execute() throws Exception {
if(null!=name&&!"".equals(name)){
name = name+"你好!";
inputStream = new ByteArrayInputStream(name.getBytes("UTF-8"));
}else{
name = "你输入的名字为空!";
inputStream = new ByteArrayInputStream(name.getBytes("UTF-8"));
}
return SUCCESS;
}
}
struts.xml配置
<action name="streamAction" class="com.wang.action.StreamAction">
<result name="success" type="stream">
<param name="contentType">text/html</param>
<param name="inputName">inputStream</param>
</result>
</action>
贴代码太累了,上传demo吧
分享到:
相关推荐
Struts2对Ajax的支持,不仅体现在其对流行Ajax框架的集成上,更在于它通过一系列易于使用的标签和功能,极大地简化了Ajax技术的应用难度,使得开发者能够更加专注于业务逻辑的实现,而不是陷入技术细节的泥潭。...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它被广泛应用于Java Web开发中,提供了灵活的架构支持。Ajax(异步JavaScript和XML)技术则为Web应用程序带来了增强的用户体验,允许页面部分刷新,而无需整体刷新...
在实际开发中,我们还需要按照以下步骤配置Struts2以支持AJAX: 1. 在struts.xml配置文件中,定义一个Action类,指定一个返回JSON的Result类型。例如: ```xml <action name="ajaxAction" class=...
Struts2为了满足这种需求,实现了与AJAX的无缝集成,提供了一流的AJAX支持。 Struts2的AJAX支持并不是从零开始创建一个新的AJAX框架,而是选择了当时在Java EE平台上广泛使用的AJAX库,如Dojo和Direct Web Remoting...
Web2.0的随波逐流,Ajax那是大放异彩,Struts2框架自己整合了对Ajax的原生支持(struts 2.1.7+,之前的版本可以通过插件实现),框架的整合只是使得JSON的创建变得异常简单,并且可以简单的融入到Struts2框架中,...
在这个"struts2+ajax+jquery"的主题中,我们将深入探讨如何利用Struts2、jQuery和Ajax技术实现Web页面的异步交互。 首先,Struts2作为MVC框架,它的核心是Action,它负责处理用户的请求,并通过配置的Result返回...
Struts2提供了丰富的功能,如拦截器、结果类型、国际化支持等,使得开发者能够更高效地处理请求和响应。 在MVC架构中,Model负责业务逻辑,View负责展示,而Controller负责接收用户请求并调用Model进行处理,然后将...
以下是对Struts2实现Ajax的详细解释: 1. **Ajax基础**: Ajax的核心是通过JavaScript异步发送HTTP请求到服务器,获取数据,然后在客户端更新DOM(Document Object Model)以实现局部刷新。这使得用户界面更加响应...
它支持插件扩展,使得开发者可以安装Struts 2、Ajax等相关插件,简化开发流程。使用Eclipse进行Java Web开发,需要了解其工作空间设置、项目创建、代码调试以及Tomcat服务器的配置和管理。 Struts 2是MVC(模型-...
commons-beanutils-1.7.0.jar,commons-collections-3.1.jar,commons-lang-2.5.jar,commons-logging.jar,ezmorph-1.0.3.jar,json-lib-2.1-jdk15.jar,这六个jar包
以下是对"ajax-struts2需要的3个包"的详细解释: 1. **json.js**: 这是一个JavaScript库,用于处理JSON(JavaScript Object Notation)数据格式。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...
Struts2提供了对JSON的支持,可以通过配置Action类或struts.xml文件来使Action返回JSON响应。 实现jQuery和Struts2结合处理JSON的步骤大致如下: 1. **前端准备**:在HTML页面中引入jQuery库,并编写Ajax请求代码...
总的来说,"struts2+ajax文件进度条的实现"是一个典型的前后端协同工作的示例,它展示了如何在Java web应用中优化用户体验,特别是在处理大文件上传时。通过理解Ajax的工作原理、Struts2的文件上传机制以及前端组件...
-- 配置Struts2支持JSON --> <constant name="struts.enable.SMD" value="true"/> <constant name="struts.action.extension" value=","/> <constant name="struts.objectFactory" value="struts-default"/> ...
总的来说,Struts2通过与jQuery等JavaScript库的集成,为开发人员提供了强大的Ajax支持,使得在Java Web应用中实现动态交互变得简单且高效。通过理解和熟练运用上述知识点,你可以创建出响应迅速、用户体验良好的Web...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它被广泛应用于Java Web开发中,提供了灵活的架构和丰富的插件支持。Ajax,全称Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够...
Struts 2其中的一个重要的功能(Feature)就是“First-class AJAX support - Add interactivity and flexibility with AJAX tags that look and feel just like standard Struts tags(大意:一流的AJAX支持——通过...
在Struts2框架中整合Ajax以实现异步数据交互,JSON(JavaScript Object Notation)扮演了关键角色。JSON是一种轻量级的数据交换格式,它允许Web应用与服务器之间高效地传输数据,而无需进行繁琐的HTTP请求。在这个...