在web开发中,我们经常需要把一个json数据传递到jsp页面上,这时我们可以使用action来实现。
<form action="getData.action" method="get"> <input type="text" name="id"> <input type="submit" value="获取数据"> </form>
上面的代码就是一个简单的表单,我们把表单的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页面上使用。
<%@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] 举报,一经查实,本站将立刻删除。