利用Struts2发起ajax请求,实现数据交互

韩美针对朝鲜进行“先发制人”、“斩首行动”的联合军演;那边朝鲜刚刚搞完导弹试验,特朗普又新任不久。在局势不明朗的情况下,突然出现了金正男遇刺这样的死亡方式——如果真是如新闻所报那样的话,这种暗杀的方式真是非常“老套”。金正男遇刺身亡是国际舞台的博弈还是朝鲜本土的政治阴谋?这就不得不让我们从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配置:


struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
 

 
struts2
/*
 


struts.xml注意继承json-default

   
   
/login.jsp





       

   

在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"%>



 
    My JSP 'login.jsp' starting page

 
 
 
   

   
   
   
   
   
用户名:
密 码:

   

   

   


 
   


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请求,实现数据交互)