我从java类返回一个json数组作为返回类型,并尝试在jsp页面上显示数据。一切正常(正如调试所说)。但不知道jsp/html页面的方法(代码/语法)。 类别
JSONArray jsonArray = new JSONArray();
public JSONArray get_user() {
String sql = "SELECT * FROM USER_INFO";
try {
con = new connection.connect().getConnection();
smt = con.createStatement();
rset = smt.executeQuery(sql);
while (rset.next()) {
JSONObject obj = new JSONObject();
obj.put("Email", rset.getString(2));
obj.put("Password", rset.getString(3));
jsonArray.put(obj);
}
} catch (Exception ex) {
ex.getMessage();
}
return jsonArray;
}
jsp
<%
controller.fetch_user obj = new controller.fetch_user();
obj.get_user();
%>
<table>
<tr><td>Email</td><td>Password</td></tr>
*** here i want to display all the records ****
</table>
最佳答案
最好的解决方案是返回 json,你可以返回 pojo
创建您喜欢的内容
class UserInfo{
private String email;
private String Password;
//setter and getter
}
然后返回 userInfo 列表
所以你的方法是
public List<UserInfo> get_user() {
List<UserInfo> userInfoList = new AraayList<UserInfo>()
String sql = "SELECT * FROM USER_INFO";
try {
con = new connection.connect().getConnection();
smt = con.createStatement();
rset = smt.executeQuery(sql);
while (rset.next()) {
UserInfo obj = new UserInfo();
obj.setEmail(rset.getString(2))
obj.setPassword(rset.getString(3))
userInfoList.add(obj);
}
} catch (Exception ex) {
ex.getMessage();
}
return userInfoList;
}
// for json object
JSONArray jsonArray = new JSONArray();
public JSONArray get_user() {
String sql = "SELECT * FROM USER_INFO";
try {
con = new connection.connect().getConnection();
smt = con.createStatement();
rset = smt.executeQuery(sql);
while (rset.next()) {
JSONObject obj = new JSONObject();
obj.put("Email", rset.getString(2));
obj.put("Password", rset.getString(3));
jsonArray.put(obj);
}
} catch (Exception ex) {
ex.getMessage();
}
return jsonArray;
}
你的jsp代码是
<%
controller.fetch_user obj = new controller.fetch_user();
obj.get_user();
%>
<table>
<tr><td>Email</td><td>Password</td></tr>
for(UserInfo userInfo:obj){
<%
%>
<tr>
<td><%=userInfo.getEmail()%><td>
<td><%=userInfo.getPassword()%><td>
</tr>
<%
}
%>
</table>
如果你的方法仍然返回 jsonAraay,代码将是
<%
controller.fetch_user obj = new controller.fetch_user();
JSONArray getArray = obj.get_user();
%>
<table>
<tr><td>Email</td><td>Password</td></tr>
<%
for(int i = 0; i < getArray.size(); i++){
JSONObject userInfo = getArray.getJSONObject(i);
%>
<tr>
<td><%=userInfo.get("Email")%><td>
<td><%=userInfo.get("Password")%><td>
</tr>
<%
}
%>
</table>
在jsp代码中你可以像在java中一样访问它
也许这会对你有很大帮助
关于java - 如何将从 Controller 类返回的 JSON 数组打印到 jsp 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35501208/