ajax+json+Struts2实现list传递实例讲解

这里是通过使用Ajax技术结合JSON和Struts2框架实现列表数据传递的攻略。以下是实现步骤:

第一步:创建Action类

首先,我们需要创建一个名为“ListAction”的Action类。该Action类将负责从数据库中获取列表数据并把它们封装为一个List对象,最后再将这个List对象转换为JSON格式返回给前端页面。

以下是一个简单示例:

public class ListAction extends ActionSupport {
    private List<String> dataList; // 用于存储从数据库中获取的数据

    public String execute() {
        // 获取数据并存储到dataList中
        dataList = new ArrayList<String>();
        dataList.add("data1");
        dataList.add("data2");
        dataList.add("data3");
        // 将dataList转换为JSON格式
        Gson gson = new Gson();
        String json = gson.toJson(dataList);
        // 将JSON格式数据返回给前端页面
        HttpServletResponse response = ServletActionContext.getResponse();
        response.setCharacterEncoding("UTF-8");
        try {
            PrintWriter out = response.getWriter();
            out.print(json);
            out.flush();
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
            return ERROR;
        }
        return null;
    }

    public List<String> getDataList() {
        return dataList;
    }
}

第二步:创建JSP页面

然后,我们需要在JSP页面中通过Ajax技术获取到后台返回的JSON格式数据,并将其转换为JS对象,最后利用JavaScript将数据呈现在页面上。

以下是一个简单示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>List Example</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script>
        $(document).ready(function () {
            // 点击按钮触发Ajax请求
            $("#btn").click(function () {
                $.ajax({
                    url: '${pageContext.request.contextPath}/list.action',  // 访问Action类的地址
                    type: 'GET',
                    dataType: 'json',
                    success: function (data) {
                        console.log(data);
                        // 将JSON格式转换为JS对象
                        var obj = JSON.parse(data);
                        // 循环取出数据并添加到页面ul中
                        var ul = document.getElementById("dataList");
                        for (var i = 0; i < obj.length; i++) {
                            var li = document.createElement("li");
                            li.innerHTML = obj[i];
                            ul.appendChild(li);
                        }
                    },
                    error: function () {
                        alert("Error!");
                    }
                });
            });
        });
    </script>
</head>
<body>
<h1>List Example</h1>
<button id="btn">Get List Data</button>
<ul id="dataList"></ul>
</body>
</html>

第三步:配置Struts.xml文件

最后,我们需要在Struts2的配置文件struts.xml中配置Action类的映射关系。以下是一个简单示例:

<struts>
    <package name="default" extends="struts-default">
        <action name="list" class="com.example.ListAction">
            <result name="success"></result>
        </action>
    </package>
</struts>

在这个示例中,我们创建了一个名为“default”的Package,并将ListAction映射到/action/list地址上。我们将通过jQuery库的Ajax功能来访问这个地址,并获取返回的JSON格式数据。

至此,我们通过使用Ajax技术结合JSON和Struts2框架实现了列表数据传递的工作。

以上是一个简单的示例,您可以根据具体需求进行更改和调整。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ajax+json+Struts2实现list传递实例讲解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • java 截取字符串(判断汉字)

    下面为你详细讲解Java截取字符串的攻略。 什么是字符串截取? 在Java中,字符串截取就是从一个源字符串中获取指定的一段子字符串。常见的应用场景包括翻译、搜索、字符串处理等。 字符串截取的方法 Java中有两种方法可以截取字符串,分别是substring()和subSequence()方法。 substring()方法 该方法的使用格式为: String …

    Java 2023年5月27日
    00
  • JSP 2.1和JSF 1.2规范发布预览版本

    JSP 2.1和JSF 1.2是Java Web开发中的两个重要组件,用于开发动态网页和构建用户界面。在发布预览版本之前,我们需要进行一些准备工作。 1. 准备环境 在开始使用JSP 2.1和JSF 1.2之前,我们需要确保环境已经准备好。具体来说,我们需要安装JDK 1.5或更高版本,以及一个兼容的Web服务器。 2. 下载规范 JSP 2.1和JSF 1…

    Java 2023年5月23日
    00
  • 值得收藏的SpringBoot 实用的小技巧

    值得收藏的SpringBoot实用的小技巧 在SpringBoot的开发过程中,有一些实用的小技巧可以提高开发效率,降低代码量和阅读难度。下面列举了一些值得收藏的小技巧。 1. 使用lombok简化实体类的编写 在实体类中,我们通常需要定义常量、属性、getter/setter、toString等方法,这些方法都是重复的代码,使用lombok可以自动生成这些…

    Java 2023年5月15日
    00
  • spring jpa 审计功能自定义填充字段方式

    完整的“spring jpa 审计功能自定义填充字段方式”的攻略分为以下几个步骤: 借助 Spring 审计功能实现自动填充字段 自定义填充字段的值生成方式 下面我们对每个步骤进行详细说明。 一、借助 Spring 审计功能实现自动填充字段 Spring Data JPA 提供了审计功能,即自动为实体的某些特定字段填充值,比如创建时间、修改时间、创建人员、修…

    Java 2023年6月3日
    00
  • java中面向对象的概念及知识点总结

    Java中面向对象的概念及知识点总结 一、面向对象的概念 面向对象(Object-oriented,O-O)是一种软件开发思想,它主要强调将问题看作是由各种不同对象之间的交互关系构成的。 O-O 中的“对象”是指拥有属性(变量)和方法(函数)的实体。这些对象通过通信来完成特定任务。O-O 中的“类”是指一组具有相同属性和方法的对象的抽象描述。在 Java 中…

    Java 2023年5月26日
    00
  • SpringBoot 整合mybatis+mybatis-plus的详细步骤

    下面是 “SpringBoot整合MyBatis和MyBatis-Plus的详细步骤”。 1. 添加依赖 首先,在 pom.xml 中添加以下依赖: <!– SpringBoot 整合 MyBatis 依赖 –> <dependency> <groupId>org.mybatis.spring.boot</gro…

    Java 2023年5月20日
    00
  • SpringBoot整合Sharding-JDBC实现MySQL8读写分离

    下面我将详细讲解如何使用SpringBoot整合Sharding-JDBC实现MySQL8读写分离的过程,包括环境搭建、配置文件编写、代码实现和示例说明等: 一、环境搭建 使用MySQL8搭建读写分离环境并创建两个数据库:sharding_db_0和sharding_db_1,分别对应写库和读库。 在maven中引入Sharding-JDBC和相关依赖: x…

    Java 2023年6月16日
    00
  • Spring security如何重写Filter实现json登录

    下面是详细讲解“Spring security如何重写Filter实现json登录”的完整攻略。 什么是Spring Security? Spring Security 是一个基于 Spring 的安全框架,提供了完善的安全管理功能,能够有效地帮助我们实现安全的身份认证、授权、攻击防护等。在使用 Spring Security 的过程中,通常需要进行配置和扩…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部