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 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts2-json-plugin等依赖,这些是开发Struts2应用必不可少的组件。 "Struts2"可能是项目实例代码,包括Action类、视图...
此外,Struts2还提供了一个名为`struts2-jquery-plugin`的扩展,它封装了与jQuery的集成,简化了Ajax请求的创建。比如,使用`sj:submit`标签可以直接触发Ajax提交: ```jsp <%@ taglib prefix="sj" uri="/struts/...
- **Struts2的JSON插件**:虽然题目要求不使用JSON,但通常情况下,Struts2通过JSON插件返回数据给jQuery是最方便的方式。不过,我们可以通过设置Content-Type为"text/plain"或"text/html",让Struts2返回非JSON...
在Struts2框架中整合Ajax以实现异步数据交互,JSON(JavaScript Object Notation)扮演了关键角色。JSON是一种轻量级的数据交换格式,它允许Web应用与服务器之间高效地传输数据,而无需进行繁琐的HTTP请求。在这个...
2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...
在这个简单的Ajax例子中,我们将探讨如何整合Struts2和jQuery来实现页面无刷新的数据更新。 首先,我们需要在项目中引入Struts2和jQuery的相关依赖。Struts2通常通过Maven或Gradle添加依赖库,包括核心库、struts2-...
struts2+Hibernate+jquery+Ajax+Json+mysql例子 一个部门和员工信息管理的例子,页面上的所有数据全部采用动态加载,增删改查操用全部在一个页面上实现,没有页面跳转。前台页面和后台服务器交互采用json格试传输。 ...
总的来说,"struts2+json"资源涉及到了Struts2框架中的Action设计、拦截器机制、结果类型的配置,以及AJAX和JSON在Web应用中的使用。理解这些知识点对于开发动态、交互性强的Java Web应用至关重要。
通过这个例子,你可以学习到如何在实际项目中结合使用Struts2、JQuery和JSON,包括如何配置Struts2的JSON插件,如何在JQuery中处理JSON数据,以及如何利用JQuery的插件来美化和增强用户界面。同时,理解和掌握JSON的...
### Struts2 + jQuery 实现Ajax交互的关键技术与实践 #### 概述 在Web开发领域,使用Struts2框架结合jQuery实现Ajax交互是一种常见的做法。这种组合不仅可以提高Web应用程序的响应速度,还能显著提升用户体验。...
为了使Struts2能够返回JSON,需要在`struts.xml`中配置`struts-plugin.xml`引入JSON插件,并定义JSON结果类型: ```xml <constant name="struts.enable.SMD" value="true" /> <constant name="struts.action....
总结起来,"Jquery_Ajax_Struts2_Action_JSP_Json"的示例展示了如何利用jQuery的Ajax功能与Struts2框架相结合,通过JSON数据格式在客户端和服务器端之间进行高效的数据交换,从而实现无刷新的页面更新,提升Web应用...
标题中的"jsp+Struts2.0+jquery+ajax+sqlserver整套jar/js包"指的是一套基于Java Web开发的技术栈,其中包括了前端的jQuery和Ajax技术,后端的Struts2框架,以及数据库层的SQL Server支持。这个组合在过去的Web应用...
在"jquery ajax json struts2最简单例子测试成功"的项目中,我们可以推断出以下几个关键点: 1. **整合jQuery与AJAX**:项目中可能使用jQuery的$.ajax()方法来发送异步请求。$.ajax()提供了一种方式,通过HTTP GET...
在这个"struts2_ajax_json"项目中,我们将探讨如何将Struts2与Ajax和JSON结合,实现异步数据交互。 首先,让我们了解Struts2如何支持Ajax请求。Struts2提供了`<s:a>`、`<s:submit>`等标签,它们可以通过添加`ajax=...
在标题和描述中提到的"struts2_spring_json.rar"是一个关于如何在Liferay中利用Struts2和Spring框架处理JSON数据的示例应用。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端交互,...
然后使用jQuery的ajax方法,设置type为POST,dataType为'json'或'text'(取决于Struts2的返回类型),data参数使用FormData对象,将选择的文件添加到FormData中。同时,设置xhr对象的onprogress事件来实现上传进度的...
2. Struts2的JSON插件:`struts2-json-plugin.jar` 3. JSON处理库:`json-lib.jar`(通常在Struts2的JSON插件中已经包含) 确保这些库被添加到项目的类路径中,以便Struts2能够解析并返回JSON数据。 **二、编写...