博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2:使用JQuery、JSON和AJAX处理请求
阅读量:5877 次
发布时间:2019-06-19

本文共 3054 字,大约阅读时间需要 10 分钟。

目的

在struts2中使用JQuery、JSON、AJAX等技术处理用户请求,并返回结果。返回结果可以是以JSONObject的方式返回,也可以是以JSONArray方式返回结果。

实现

1. 创建表示层JSP(testJJA.jsp)

此JSP也用于处理返回结果,因为是AJAX方式提交的,并不需要另外的显示页面。

<%@page language="java" import="java.util.*" pageEncoding="utf-8"%>                    
  

2. 创建处理Action类

package com.clzhang.ssh.demo7;import java.io.*;import java.util.*;import net.sf.json.JSONObject;import net.sf.json.JSONArray;import org.apache.struts2.ServletActionContext;public class TestJJAAction {    private String jsonString;    public String getJsonString() {        return jsonString;    }    public void setJsonString(String jsonString) {        this.jsonString = jsonString;    }        // 以JSONArray方式返回数据    public String getArray() throws IOException {        System.out.println("jsonString=" + jsonString);                JSONObject jsonObject = JSONObject.fromObject(jsonString);        System.out.println("param1=" + jsonObject.get("param1"));        System.out.println("param2=" + jsonObject.get("param2"));        System.out.println("bigtext=" + jsonObject.get("bigtext"));                List
aList = new ArrayList
(); aList.add("param1=" + jsonObject.get("param1")); aList.add("param2=" + jsonObject.get("param2")); aList.add("bigtext=" + jsonObject.get("bigtext")); aList.add("status:成功受理请求!"); JSONArray jsonArray = JSONArray.fromObject(aList); ServletActionContext.getResponse().setContentType("text/html"); ServletActionContext.getResponse().setCharacterEncoding("utf-8"); ServletActionContext.getResponse().getWriter().printf(jsonArray.toString()); ServletActionContext.getResponse().getWriter().flush(); ServletActionContext.getResponse().getWriter().close(); return null; } // 以JSONObject方式返回数据 public String execute() throws IOException { System.out.println("jsonString=" + jsonString); JSONObject jsonObject = JSONObject.fromObject(jsonString); System.out.println("param1=" + jsonObject.get("param1")); System.out.println("param2=" + jsonObject.get("param2")); System.out.println("bigtext=" + jsonObject.get("bigtext")); JSONObject jsonObject2 = new JSONObject(); jsonObject2.put("param1", jsonObject.get("param1")); jsonObject2.put("param2", jsonObject.get("param2")); jsonObject2.put("bigtext", jsonObject.get("bigtext")); jsonObject2.put("status","成功受理请求!"); System.out.println(jsonObject2.toString()); ServletActionContext.getResponse().setContentType("text/html"); ServletActionContext.getResponse().setCharacterEncoding("utf-8"); ServletActionContext.getResponse().getWriter().printf(jsonObject2.toString()); ServletActionContext.getResponse().getWriter().flush(); ServletActionContext.getResponse().getWriter().close(); return null; }}

3. 修改配置文件struts.xml

4. 测试

打开IE,输入地址:

效果如下:

单击“提交试试(Object)”按钮后,结果如下:

单击“提交试试(Array)”按钮后,效果如下:

转载地址:http://fczix.baihongyu.com/

你可能感兴趣的文章
常用查找算法总结
查看>>
被神话的大数据——从大数据(big data)到深度数据(deep data)思维转变
查看>>
修改校准申请遇到的问题
查看>>
Linux 进程中 Stop, Park, Freeze【转】
查看>>
文件缓存
查看>>
远程协助
查看>>
Scrum实施日记 - 一切从零开始
查看>>
关于存储过程实例
查看>>
配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法...
查看>>
AIX 7.1 install python
查看>>
PHP盛宴——经常使用函数集锦
查看>>
重写 Ext.form.field 扩展功能
查看>>
Linux下的搜索查找命令的详解(locate)
查看>>
福利丨所有AI安全的讲座里,这可能是最实用的一场
查看>>
开发完第一版前端性能监控系统后的总结(无代码)
查看>>
Python多版本情况下四种快速进入交互式命令行的操作技巧
查看>>
MySQL查询优化
查看>>
【Redis源码分析】如何在Redis中查找大key
查看>>
关于链接文件的探讨
查看>>
android app启动过程(转)
查看>>