微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

action把json传到jsp页面

在web开发中,我们经常需要把一个json数据传递到jsp页面上,这时我们可以使用action来实现。

<form action="getData.action" method="get">
    <input type="text" name="id">
    <input type="submit" value="获取数据">
</form>

action把json传到jsp页面

上面的代码就是一个简单的表单,我们把表单的action设为"getData.action",当用户点击提交按钮后,会向服务器发送一个请求。

下面是一个getData.action的例子:

package action;

import com.opensymphony.xwork2.ActionSupport;

public class GetDataAction extends ActionSupport {
    private int id;
    private String name;
    private int age;

    // getter和setter省略

    public String execute() throws Exception {
        // 从数据库获取数据并封装成json字符串
        String json = "{\"id\": " + id + ",\"name\": \"" + name + "\",\"age\": " + age + "}";
        // 把json字符串存入request中
        request.setAttribute("json",json);
        return SUCCESS;
    }
}

上面的代码一个用于获取数据的action,它继承了ActionSupport类,并覆写了execute()方法。在execute()方法中,我们从数据库获取数据并封装成json字符串,然后把json字符串存入request中,以便在jsp页面上使用。

下面是一个展示数据的jsp页面

<%@page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>显示数据</title>
  </head>
  <body>
    <%-- 获取json数据 --%>
    <%
        String json = (String) request.getAttribute("json");
    %>
    <%-- 把json数据解析为对象 --%>
    <%
        org.json.JSONObject jsonObj = new org.json.JSONObject(json);
        int id = jsonObj.getInt("id");
        String name = jsonObj.getString("name");
        int age = jsonObj.getInt("age");
    %>
    <%-- 显示数据 --%>
    <p>id:<%= id %></p>
    <p>name:<%= name %></p>
    <p>age:<%= age %></p>
  </body>
</html>

上面的代码中,我们首先从request中获取json数据,然后把json数据解析为对象,最后显示数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐