`

struts2+jquery+ajax+json+struts2_json_plugin配置例子

阅读更多

1.struts.xml

	<constant name="struts.i18n.encoding" value="utf-8" />

	<package name="jsondefault" namespace="/json" extends="json-default">
		<action name="loginByAjax" class="com.mtea.s2.action.LoginByAjax">
			<result type="json"/>
		</action>
	</package>

2.Action

package com.mtea.s2.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

public class LoginByAjax extends ActionSupport{
	private String username;
	private String password;
	private boolean pass;
	private String message;
	private List<String> fruitList=new ArrayList<String>();
	private Map<String,String> realNameMap=new HashMap<String,String>();
	private User user=new User("xiao7",22);
	
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
	public boolean isPass() {
		return pass;
	}
	public void setPass(boolean pass) {
		this.pass = pass;
	}
	
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	public List<String> getFruitList() {
		return fruitList;
	}
	public void setFruitList(List<String> fruitList) {
		this.fruitList = fruitList;
	}
	public Map<String, String> getRealNameMap() {
		return realNameMap;
	}
	public void setRealNameMap(Map<String, String> realNameMap) {
		this.realNameMap = realNameMap;
	}
	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}
	@Override
	public String execute() throws Exception{
		//init
		fruitList.add("苹果");
		fruitList.add("香蕉");
		fruitList.add("芒果");
		realNameMap.put("张", "三");
		realNameMap.put("李", "四");
		
		if (username.equals("macrotea") && password.equals("123456")) {
			pass = true;
			message = "用户名密码正确";
			System.out.println("message:" + message);
		} else {
			message = "用户名密码不正确";
			pass = false;
			System.out.println("message:" + message);
		}
		
		//只能返回success
		return Action.SUCCESS;
	}
/*
	//其实不用继承ActionSupport,不用重写execute()
	public String execute(){
		// do someting
	}
	这样也可以的,不过已经养成了手贱的习惯
*/
}

 3.jsp,通过ff3.6,ie7+

<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*" session="true"%>
<%@ page import="java.text.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>set your title</title>
    <script src="/js/jquery-1.3.2.js" type="text/javascript"></script>
	<script type="text/javascript">
		$(document).ready(function() {
			//$("#loginForm #submit").click(function(event){
			
			$("#loginForm").submit(function(event){
				
				//必须的,无论你是$("#loginForm #submit").click(function(event){
				//阻止默认行为再进行ajax提交
				event.preventDefault();
				$.ajax({
					   type: "POST",
					   //我是使用struts2+struts2-json-plugin-2.2.1.jar的,这些都不用设置
					   //contentType: "text/html;charset=utf-8",
					   //contentType: "application/json;charset=utf-8",
					   url: "/json/loginByAjax",
					   data: {
						   username:$("#username").val(),
						   password:$("#password").val()
					   },
					   success: function(data){
					     $("#result").html(data);
					   }
				});
			});
		});
	</script>
</head>

<body>
<div id="result"></div>
<form id="loginForm" method="post">
	<legend>登陆页</legend>
  	<div class="error"></div>
  <p>
    <label for="username">用户名</label>
    <br />
<input type="text" name="username" id="username" autocomplete='off' value="macrotea"/>
  </p>
  <p>
    <label for="password">密码</label>
    <br />
<input type="text" name="password" id="password" autocomplete='off' value="123456"/>
  </p>
  <p>
    <input type="submit" value="登陆" id="submit"/>
  </p>

</form>

</body>

</html>
分享到:
评论

相关推荐

    Struts2+Jquery+Ajax

    "struts2 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts2-json-plugin等依赖,这些是开发Struts2应用必不可少的组件。 "Struts2"可能是项目实例代码,包括Action类、视图...

    struts2+ajax+jquery

    此外,Struts2还提供了一个名为`struts2-jquery-plugin`的扩展,它封装了与jQuery的集成,简化了Ajax请求的创建。比如,使用`sj:submit`标签可以直接触发Ajax提交: ```jsp &lt;%@ taglib prefix="sj" uri="/struts/...

    Struts2+jQuery(不用JSON)实现局部刷新

    - **Struts2的JSON插件**:虽然题目要求不使用JSON,但通常情况下,Struts2通过JSON插件返回数据给jQuery是最方便的方式。不过,我们可以通过设置Content-Type为"text/plain"或"text/html",让Struts2返回非JSON...

    json2+jsonplugin struts2整合ajax时,使用json时需要的jar包

    在Struts2框架中整合Ajax以实现异步数据交互,JSON(JavaScript Object Notation)扮演了关键角色。JSON是一种轻量级的数据交换格式,它允许Web应用与服务器之间高效地传输数据,而无需进行繁琐的HTTP请求。在这个...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...

    使用struts2+JQuery实现的简单的ajax例子

    在这个简单的Ajax例子中,我们将探讨如何整合Struts2和jQuery来实现页面无刷新的数据更新。 首先,我们需要在项目中引入Struts2和jQuery的相关依赖。Struts2通常通过Maven或Gradle添加依赖库,包括核心库、struts2-...

    struts2+Hibernate+jauery+Ajax+Json+mysql例子

    struts2+Hibernate+jquery+Ajax+Json+mysql例子 一个部门和员工信息管理的例子,页面上的所有数据全部采用动态加载,增删改查操用全部在一个页面上实现,没有页面跳转。前台页面和后台服务器交互采用json格试传输。 ...

    struts2+json

    总的来说,"struts2+json"资源涉及到了Struts2框架中的Action设计、拦截器机制、结果类型的配置,以及AJAX和JSON在Web应用中的使用。理解这些知识点对于开发动态、交互性强的Java Web应用至关重要。

    Json+Struts2+JQuery及JQuery相关插件的例子,json架包...

    通过这个例子,你可以学习到如何在实际项目中结合使用Struts2、JQuery和JSON,包括如何配置Struts2的JSON插件,如何在JQuery中处理JSON数据,以及如何利用JQuery的插件来美化和增强用户界面。同时,理解和掌握JSON的...

    Struts2 + jQuery 实现ajax.txt

    ### Struts2 + jQuery 实现Ajax交互的关键技术与实践 #### 概述 在Web开发领域,使用Struts2框架结合jQuery实现Ajax交互是一种常见的做法。这种组合不仅可以提高Web应用程序的响应速度,还能显著提升用户体验。...

    struts2+jquery实现ajax

    为了使Struts2能够返回JSON,需要在`struts.xml`中配置`struts-plugin.xml`引入JSON插件,并定义JSON结果类型: ```xml &lt;constant name="struts.enable.SMD" value="true" /&gt; &lt;constant name="struts.action....

    Jquery_Ajax_Struts2_Action_JSP_Json

    总结起来,"Jquery_Ajax_Struts2_Action_JSP_Json"的示例展示了如何利用jQuery的Ajax功能与Struts2框架相结合,通过JSON数据格式在客户端和服务器端之间进行高效的数据交换,从而实现无刷新的页面更新,提升Web应用...

    jsp+Struts2.0+jquery+ajax+sqlserver整套jar/js包

    标题中的"jsp+Struts2.0+jquery+ajax+sqlserver整套jar/js包"指的是一套基于Java Web开发的技术栈,其中包括了前端的jQuery和Ajax技术,后端的Struts2框架,以及数据库层的SQL Server支持。这个组合在过去的Web应用...

    jquery ajax json struts2最简单例子测试成功

    在"jquery ajax json struts2最简单例子测试成功"的项目中,我们可以推断出以下几个关键点: 1. **整合jQuery与AJAX**:项目中可能使用jQuery的$.ajax()方法来发送异步请求。$.ajax()提供了一种方式,通过HTTP GET...

    struts2_ajax_json

    在这个"struts2_ajax_json"项目中,我们将探讨如何将Struts2与Ajax和JSON结合,实现异步数据交互。 首先,让我们了解Struts2如何支持Ajax请求。Struts2提供了`&lt;s:a&gt;`、`&lt;s:submit&gt;`等标签,它们可以通过添加`ajax=...

    struts2_spring_json.rar_liferay struts2 json_portlet json_spring

    在标题和描述中提到的"struts2_spring_json.rar"是一个关于如何在Liferay中利用Struts2和Spring框架处理JSON数据的示例应用。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端交互,...

    struts2+jquery之form插件实现异步上传图片并显示

    然后使用jQuery的ajax方法,设置type为POST,dataType为'json'或'text'(取决于Struts2的返回类型),data参数使用FormData对象,将选择的文件添加到FormData中。同时,设置xhr对象的onprogress事件来实现上传进度的...

    Struts2 ajax json使用介绍

    2. Struts2的JSON插件:`struts2-json-plugin.jar` 3. JSON处理库:`json-lib.jar`(通常在Struts2的JSON插件中已经包含) 确保这些库被添加到项目的类路径中,以便Struts2能够解析并返回JSON数据。 **二、编写...

Global site tag (gtag.js) - Google Analytics