Struts2+JQuery+JSON集成
细节部分我就不多讲了,因为我也不会,就讲讲我是如何调试出来我的第一个JSON使用的吧
采用的框架有:Struts2 、 JQuery 、 JSON
按着步骤来吧:
1.新建一个Web工程
导入包列表:
目录结构如图:
2.建立实体类User
package model;
public class User
private String name;
private int age;
//省略相应的get和set方法
3.建立Action JsonAction
public class JsonAction extends ActionSupport{
private static final long serialVersionUID =
7044325217725864312L;
private User user;
//用于记录返回结果
private String result;
//省略相应的get和set方法
@SuppressWarnings("static-access")
public String execute() throws Exception {
//将要返回的user实体对象进行json处理
JSONObject jo = JSONObject.fromObject(this.user);
//打印一下,格式如下
//{"name":"风达","age":23}
System.out.println(jo);
//调用json对象的toString方法转换为字符串然后赋值给result
this.result = jo.toString();
return this.SUCCESS;
}
}
4.建立struts.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<package name="ttttt" extends="json-default">
<action name="jsonAction" class="action.JsonAction">
<result type="json" >
<!-- 因为要将reslut的值返回给客户端,所以这样设置 -->
<!-- root的值对应要返回的值的属性 -->
<param name="root">
result
</param>
</result>
</action>
</package>
</struts>
5.编写index.jsp文件
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
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">
<!-- basePath用来获取js文件的绝对路径 -->
<script type="text/javascript" src="<%=basePath%>js/jquery.js"></script>
<script type="text/javascript" src="<%=basePath%>js/index.js"></script>
<s:head theme="ajax" />
</head>
<body>
<div id="result">
</div>
<s:form name="userForm" action="" method="post">
<s:textfield label="用户名" name="user.name" />
<s:textfield label="年龄" name="user.age" />
<button>
提交
</button>
</s:form>
</body>
</html>
6.在WebRoot目录下建立js文件件,将jquery.js文件放到文件夹下,然后再建立文件index.js
$(document).ready(function() {
// 直接把onclick事件写在了JS中
$("button").click(function() {
// 序列化表单的值
var params = $("input").serialize();
$.ajax({
// 后台处理程序
url : "jsonAction.action",
// 数据发送方式
type : "post",
// 接受数据格式
dataType : "json",
// 要传递的数据
data : params,
// 回传函数
success : update_page
});
});
});
function update_page(result) {
var json = eval( "("+result+")" );
var str = "姓名:" + json.name + "<br />"; str += "年龄:"
+ json.age + "<br />";
$("#result").html(str);
}
7.运行前效果:
要的是效果,布局就不整了
运行后效果:
网上相关的信息太少了,很多Struts2+JQuery+JSON的教程,点开链接之后都是那几篇文章转了又转,遇到问题真的很想找到有用的信息,或许是我太笨了,找不到,或许就是网上相关的信息就很少。这个实例很简单是不是,但是为了调试出这个程序,我费了一天的时间。
上面的实例成功了,但是问题又出来了
视图类型仅仅设置了json
那么输入校验出错的时候怎么显示?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fengda2870/archive/2009/04/06/4052527.aspx
分享到:
相关推荐
4. **Struts2与jQuery的集成**: - **Struts2的JSON插件**:虽然题目要求不使用JSON,但通常情况下,Struts2通过JSON插件返回数据给jQuery是最方便的方式。不过,我们可以通过设置Content-Type为"text/plain"或...
Struts2、Spring、Hibernate、jQuery 和 JSON 是五个在IT行业中极为重要的技术组件,它们各自在Web应用开发中扮演着不同的角色。这篇文章将详细介绍这些技术的整合使用以及它们的功能。 首先,Struts2 是一个基于 ...
在Struts2中集成JSON支持,首先需要添加相应的依赖,比如struts2-json-plugin,这个插件提供了JSON结果类型。当Action执行完毕后,可以返回一个JSON结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给...
此外,Struts2还提供了一个名为`struts2-jquery-plugin`的扩展,它封装了与jQuery的集成,简化了Ajax请求的创建。比如,使用`sj:submit`标签可以直接触发Ajax提交: ```jsp <%@ taglib prefix="sj" uri="/struts/...
Struts2、jQuery和JSON是Web开发中常用的三个技术组件,它们在构建高效、动态的Web应用程序时起着至关重要的作用。这篇博文可能是关于如何整合这三个技术以创建一个功能丰富的应用的教程或案例分析。 首先,让我们...
6. Struts2与Ajax的集成,使用JQuery的$.ajax()或$.getJSON()方法 7. 请求与响应的处理,包括参数传递和数据封装 8. 实例演示:使用Struts2+Jquery+Ajax实现动态加载数据或表单验证 "struts2 jar"文件包含了Struts2...
"Struts2+JSON+jQuery实现Ajax数据的存取"就是一个典型的示例,它结合了强大的MVC框架Struts2、轻量级的数据交换格式JSON以及高效的前端库jQuery,以实现网页上的无刷新数据交互。下面将详细介绍这三个技术及其在...
5. **类库包中的其他组件**:除了Struts2和jQuery本身,这个包可能还包含了其他的依赖库,如JSON库(用于JSON数据的序列化和反序列化)、Commons Logging等,这些都是Struts2和jQuery正常工作所必需的。 6. **导入...
标题 "struts2+spring+hibernate+jquery+dwr+json" 描述了一个集成的Web应用程序开发框架,其中包含了多个关键技术和库。这个框架旨在提高开发效率,提供灵活的数据管理,以及用户友好的前端交互。 1. Struts2:...
这个教程可能详细介绍了如何集成这四者,比如设置Struts2的JSON插件,创建Action来返回JSON数据,编写jQuery代码来发送Ajax请求,以及如何在前端解析和显示JSON数据。通过学习和实践这个例子,开发者可以深入理解...
Struts2、Spring、iBatis和jQuery是四个在Java Web开发中广泛应用的框架和技术,它们共同构建了一个高效、灵活的后端系统,并通过JSON进行数据交互。下面将详细阐述这些技术及其相互间的整合。 **Struts2** 是一个...
在Struts2中,我们通常会创建一个专门处理Ajax请求的Action,返回JSON或其他适合的数据格式,供jQuery解析并更新页面。 此外,jQuery还提供了丰富的DOM操作方法,如`.append()`, `.remove()`, `.html()`, `.css()`...
在Struts2框架中整合Ajax以实现异步数据交互,JSON(JavaScript Object Notation)扮演了关键角色。JSON是一种轻量级的数据交换格式,它允许Web应用与服务器之间高效地传输数据,而无需进行繁琐的HTTP请求。在这个...
在这个实例中,Flexigrid与Struts2、JSON和jQuery进行了集成,构建了一个功能丰富的Web应用。 Struts2是Apache软件基金会的一个开源MVC框架,用于构建Java Web应用程序。它提供了强大的动作调度、拦截器机制以及...
SSH指的是Struts、Spring和Hibernate这三个Java Web开发框架的缩写,而JQuery是一个强大的JavaScript库,JSON则是一种轻量级的数据交换格式。下面我们将详细探讨这些技术及其在实际项目中的应用。 首先,Struts是...
在tests2si目录下,可能包含的是测试相关的文件,这些文件可能包括单元测试、集成测试,用于验证Struts2、Spring、iBatis以及jQuery的整合是否正常工作。测试文件通常会模拟用户操作,调用后端接口,检查返回的数据...
总结起来,这个项目结合了Struts2的Action和JSON支持,利用jQuery的Ajax功能,实现了客户端与服务器之间的数据交互,达到了动态更新页面的目的。对于Web开发者来说,了解这种技术组合有助于提高开发效率和用户体验。
在这个简单的Ajax例子中,我们将探讨如何整合Struts2和jQuery来实现页面无刷新的数据更新。 首先,我们需要在项目中引入Struts2和jQuery的相关依赖。Struts2通常通过Maven或Gradle添加依赖库,包括核心库、struts2-...