Java 如何将控制器类返回的JSON数组打印到jsp页面

Java 如何将控制器类返回的JSON数组打印到jsp页面,java,arrays,json,jsp,Java,Arrays,Json,Jsp,我从java类返回一个json数组作为返回类型,并尝试在jsp页面上显示数据。一切正常(正如调试所说)。但是不知道jsp/html页面的方法(代码/语法)。 课程 JSONArray jsonArray = new JSONArray(); public JSONArray get_user() { String sql = "SELECT * FROM USER_INFO"; try { con = new connectio

我从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
}
然后重新获取用户信息列表

所以你的方法是

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;
}
public List get_user(){
List userInfoList=new araylist()
String sql=“从用户信息中选择*”;
试一试{
con=newconnection.connect().getConnection();
smt=con.createStatement();
rset=smt.executeQuery(sql);
while(rset.next()){
UserInfo obj=新的UserInfo();
obj.setEmail(rset.getString(2))
对象设置密码(rset.getString(3))
userInfoList.add(obj);
}
}捕获(例外情况除外){
例如getMessage();
}
返回用户信息列表;
}
//对于json对象
JSONArray JSONArray=新的JSONArray();
公共JSONArray get_user(){
String sql=“从用户信息中选择*”;
试一试{
con=newconnection.connect().getConnection();
smt=con.createStatement();
rset=smt.executeQuery(sql);
while(rset.next()){
JSONObject obj=新的JSONObject();
obj.put(“Email”,rset.getString(2));
obj.put(“密码”,rset.getString(3));
jsonArray.put(obj);
}
}捕获(例外情况除外){
例如getMessage();
}
返回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>

电子邮件密码
用于(用户信息用户信息:obj){
如果您的方法仍然返回JSONARAY,那么代码将是

 <%
 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中一样访问它


可能这会对你有很大帮助

noo的可能副本…他们使用了JSTL,我不知道你没有这么说。你为什么不使用JSTL?很简单,我不想使用。我只想用普通的jsp显示。如果你说没有JSTL就无法打印jsonarray,那就另当别论了。请帮我解决这个问题,,,如何访问已经存在的“obj”“jsonArray”从Controller返回。但是朋友,我想使用json,这就是我使用它的原因。好的,现在我已经按照json Aray方法更新了您的jsp代码,请查看一下。JSONObject userInfo=getArray.getJSONArray(i);对于此错误,json数组无法转换为json对象,请参考jsonArray()的所有方法。