利用Struts2发起ajax请求,实现数据交互
来源:互联网 发布:男士休闲皮鞋 知乎 编辑:程序博客网 时间:2024/05/22 02:17
韩美针对朝鲜进行“先发制人”、“斩首行动”的联合军演;那边朝鲜刚刚搞完导弹试验,特朗普又新任不久。在局势不明朗的情况下,突然出现了金正男遇刺这样的死亡方式——如果真是如新闻所报那样的话,这种暗杀的方式真是非常“老套”。金正男遇刺身亡是国际舞台的博弈还是朝鲜本土的政治阴谋?这就不得不让我们从Web2.0的随波逐流,Ajax的大放异彩说起,Struts2框架自己整合了对Ajax的原生支持(struts 2.1.7+,之前的版本可以通过插件实现),框架的整合只是使得JSON的创建变得异常简单,并且可以简单的融入到Struts2框架中,当然这只是在我们需要JSON的时候才会显得流光溢彩。首先不谈Struts2的原生支持,自己写了一个ajax示例,使用异步请求,直接请求action动作
废话少说,由于Struts2特殊的值栈传值特性,实现在struts2上整合ajax必须在项目中引入struts2-json-plugin-2.2.1.jar(Struts2的其他依赖包这里不再列举)
web.xml加上struts2配置:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
struts.xml注意继承json-default
<package name="front" extends="json-default" namespace="/">
<action name="index" >
<result>/login.jsp</result>
</action>
<!--ajax请求测试 -->
<action name="ajaxTest" class="com.hp.vote.action.Login" method="ajaxTest">
<result name="success" type="json"></result>
</action>
</package>
在struts.xml中,首先说明:
package extends为json-default,这是必须的,只用在json-default中才包含下面使用的result中 type为 json。
然后就是result类型需显示指明为json,result标签内,无需指明视图指向的界面。
文件配置完毕,下面就是具体的ajax请求实现数据交互:
view层:login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="contextPath" value="${pageContext.request.contextPath}"></c:set>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'login.jsp' starting page</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<script src="${contextPath}/js/jquery-1.7.1.js"></script>
<form>
<table align="center">
<tr><td>用户名:</td><td><input type="text" name="username" id="username"></td></tr>
<tr><td>密 码:</td><td><input type="password" name="password" id="password"></td></tr>
<tr><td></td><td><input type="submit" value="登录">
<input type="reset" value="重置"></td></tr>
</table>
</form>
<button class="btn btn-info" type="button" id="ajaxTestButton">
<i class="ace-icon fa fa-plus-circle bigger-110"></i>
ajax请求测试
</button>
<div id="msg"></div>
</body>
<script>
$('#ajaxTestButton').click(function(){
$.ajax({
async : false ,
type : "get",
url : '${contextPath}/ajaxTest',
data : {
username : $("#username").val(),
password : $("#password").val()
},
success : function(obj) {
$("#msg").html('<div style="color:red">'+obj.json+'</div>');
}
});
});
</script>
</html>
action层:
package com.hp.vote.action;
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport{
private String username;
private String password;
private String json;
public String getJson() {
return json;
}
public void setJson(String json) {
this.json = json;
}
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 String execute(){
if (username.equals("admin")&&password.equals("admin")) {
return "asuccess";
}else if(username.equals("user")&&password.equals("user")){
return "usuccess";
}else{
return "error";
}
}
/**
*
* 功能描述: 测试Struts2 整合 ajax请求
* @author wr
* @date 2017年2月28日 上午9:16:05
* @return
*/
public String ajaxTest(){
String name = username;
json = "ajax返回值 : "+name;
return "success";
}
}
最后就是运行结果了,在用户名中输入字符串,点击【ajax请求测试】就是运行结果了
- 利用Struts2发起ajax请求,实现数据交互
- Struts2 结合 Ajax 实现异步交互数据
- jquery之利用ajax与服务器交谈(发起GET和POST请求之获取JSON数据)
- jquery之利用ajax与服务器交谈(发起GET和POST请求之利用jquery获取数据)
- jquery之利用ajax与服务器交谈(发起GET和POST请求之发起POST请求)
- ajax发起post请求
- struts2+Jquery+ajax实现前后端数据交互
- SpringMVC+Hibernate利用ajax实现前端后台数据交互
- struts2的验证码及利用jquery发送ajax请求并利用json做数据交换
- 采用jQuery发起Ajax请求
- jquery之利用ajax与服务器交谈(温习ajax之发起请求)
- Ajax登录注册-----数据请求 交互
- jquery之利用ajax与服务器交谈(完全控制ajax请求之带着所有的修整发起Ajax请求)
- 利用jquery框架中ajax实现前台与struts2中action交互
- nodejs+ajax实现数据交互
- 利用ajax提交表单,实现数据前端后台数据交互的完整流程演示
- 【Struts2】利用JQuery与struts2-json-plugin实现Struts2的Ajax功能并利用JSON传递数据
- 基于angular.js发送ajax请求实现前后台数据交互
- 欢迎使用CSDN-markdown编辑器
- Centos下面Eclipse打开文件闪退
- BigPipe:高性能的“流水线技术”网页
- Linux内核分析------跟踪分析Linux内核的启动过程
- NGINX负载均衡分发请求的几种方式
- 利用Struts2发起ajax请求,实现数据交互
- linux进程间的通信(C): 共享内存
- iOS视频 压缩过程 AVAssetExportSessionStatusFailed 文件创建失败
- php编写分页接口步骤
- 高并发、高性能 Web 架构
- 基于WebMagic写的一个csdn博客小爬虫
- iOS-runtime 完整总结
- jquery 使用简明教程
- 银行常用加密算法PINBlock加密