【问题标题】:JSTL-unable to display object attribute values in jsp [closed]JSTL-无法在jsp中显示对象属性值[关闭]
【发布时间】:2018-11-19 12:42:31
【问题描述】:

使用的软件:Tomcat 8.0.52、jdk/jre 10.0.1、notepad++(不能使用IDE)
已正确设置所有环境变量并使用示例程序对其进行检查。
试图显示从 servlet 到 .jsp 的查询结果
我的 servlet 代码:

List<User> uu = new ArrayList<User>();    
ResultSet rs;
    rs=stmt.executeQuery("select * from assign where userid!='admin';");
    if(!rs.next())response.sendRedirect("displayerror.jsp");
    else{
        do{
            User p=new User();
            p.setuserid(rs.getString(1));
            p.setpassword(rs.getString(2));
            p.setcontact(rs.getString(3));
            p.setrole(rs.getString(4));
            p.setmentor(rs.getString(5));
            p.setgroup(rs.getString(6));
            uu.add(p);
        }while(rs.next());
    }
    request.setAttribute("results", uu);
    RequestDispatcher rd = request.getRequestDispatcher("display.jsp");
    rd.forward(request, response);

将列表 uu 设置为“结果”并将其转发到我打算显示查询结果的 display.jsp。 用户类:

class User {
    String userid;
    String password;
    String contact;
    String role;
    String mentor;
    String group;
    // Setters and getters
}

这个类的对象被传递给 display.jsp。
我的 display.jsp 代码:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>     
      <html>
           <head><title>WELCOME</title></head>
           <body>
           <form  >
           <table>
            <c:forEach items="${results}" >
            <tr><td><c:out value="${results.userid}"></c:out></td>
            <td><c:out value="${results.password}"></c:out></td>
            <td><c:out value="${results.role}"></c:out></td>
            <td><c:out value="${results.contact}"></c:out></td>
            <td><c:out value="${results.mentor}"></c:out></td>
            <td><c:out value="${results.group}"></c:out></td></tr>
            </c:forEach>
            </table>
            </form>
           </body>
     </html>

我尝试运行一个基本的 JSTL 程序(显示数字),它运行良好。我也尝试仅显示“结果”大小并显示。代码不起作用的唯一情况是当我尝试访问 ${result.userid} 时它不会抛出任何错误只是一个空白屏幕。
在 web.xml 中:我也尝试使用 3.1、2.5 版本(如果有帮助的话)。
已放置 .jar 文件(taglibs-standard-impl-1.2.5.jar 和 taglibs-standard-spec-1.2.5.jar 在类路径中)
如果答案或代码格式有任何错误,请原谅我(我的第一个问题)。

【问题讨论】:

    标签: java sql jsp servlets jstl


    【解决方案1】:

    尝试使用

    <c:forEach var="results" items="${results}">
       <tr>  
           <td><c:out value="${results.userid}"></c:out></td>
           <td><c:out value="${results.password}"></c:out></td>
           <td><c:out value="${results.role}"></c:out></td>
           <td><c:out value="${results.contact}"></c:out></td>
           <td><c:out value="${results.mentor}"></c:out></td>
           <td><c:out value="${results.group}"></c:out></td>
      </tr>
    </c:forEach>
    

    【讨论】:

    • 类似于java中的foreach循环。这里 var="results" 表示每个循环的对象。
    猜你喜欢
    • 2019-01-25
    • 2018-12-19
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    相关资源
    最近更新 更多