Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将数据库值加载到组合框-JSP,Hibernate_Java_Hibernate_Jsp - Fatal编程技术网

Java 将数据库值加载到组合框-JSP,Hibernate

Java 将数据库值加载到组合框-JSP,Hibernate,java,hibernate,jsp,Java,Hibernate,Jsp,我正在使用hibernate框架开发一个web应用程序。我使用JSP进行查看。在那里,我需要将特定数据从数据库表加载到组合框中。 在这种情况下,我需要将所有角色ID从角色表加载到组合框中 我的代码如下 <tr> <th align="left"> Role ID </th> <td> <!-- Combobox t

我正在使用hibernate框架开发一个web应用程序。我使用JSP进行查看。在那里,我需要将特定数据从数据库表加载到组合框中。 在这种情况下,我需要将所有角色ID从角色表加载到组合框中 我的代码如下

 <tr>
                    <th align="left"> Role ID </th>
                    <td>
                        <!-- Combobox to get role id's -->

                        <%
                            try {
                                SessionFactory sf = HibernateUtil.getSessionFactory();
                                Session s = sf.openSession();
                                Transaction tx = s.beginTransaction();

                                Role se = new Role();

                                String hql = "select ROLEID from EAD.ROLE";
                                Query q = s.createQuery(hql);
                                ArrayList li = (ArrayList) q.list();
                                Iterator ie = li.iterator();
                                int size = li.size();
                        %>  

                        <select>   
                            <%
                                while (ie.hasNext()) {
                                    Integer un = se.getRoleid();
                            %>

                            <option value="<%= un%>"><%= un%></option>

                            <%
                                }
                            %>
                        </select>   
                        <%
                            } catch (HibernateException he) {
                                he.printStackTrace();
                    }%>    

                        <!-- end of combobox-->
                    </td>
                </tr> 

我的问题是,页面中甚至没有显示组合框。有没有办法解决这个问题??如果可以,请尽快提出解决方案。谢谢:)

尝试显示选项

查询:
“从角色r中选择r.roleid”

注意:如果列表没有元素或大小为零,则组合框中不会显示任何选项值

更换
内的以下代码:

<center>   
    <select>  
        <%
            try {
                SessionFactory sf = HibernateUtil.getSessionFactory();
                Session s = sf.openSession();
                Transaction tx = s.beginTransaction();

                Role se = new Role();

                String hql = "select r.roleid from Role r";
                Query q = s.createQuery(hql);
                ArrayList li = (ArrayList) q.list();
                System.out.println("List Size = " + li.size());
                /*
                    if List Size is 0 then no option values will show
                */
                Iterator ie = li.iterator();
        %>

        <%
            while (ie.hasNext()) {
                Integer un = se.getRoleid();
        %>

        <option value="<%= un%>"><%= un%></option>

        <%
            }
        %>

        <%
            } catch (Exception he) {
                he.printStackTrace();
            }
        %>
    </select>   
</center>


您能格式化源代码吗。IDE使用什么?Im使用netbeans IDECheck ArrayList size如果列表大小为0,则不会为select选项设置任何值。若在标记之前发生任何异常,则组合框将不会显示在页面中。在netbeans中选择代码,然后按Ctrl+Shift+F格式化代码。然后编辑帖子替换已编辑的代码。另外,您是否在控制台中收到错误消息?使用“从角色r中选择r.roleid”会给我一个java堆异常。因此,我将查询更改为“从EAD.ROLE r中选择r.ROLEID”。现在显示组合框,没有加载任何值。有什么想法吗?Console out out of List Size=是0还是其他?没有显示控制台输出:(但有一条GlassFish服务器消息说“严重:org.hibernate.QueryException:未定义的别名:ROLEID[从角色中选择ROLEID]”您需要给类添加别名,然后在列中引用它:Role is class及其别名let r。然后查询:“select r.roleid from Role r”当我放入该查询时,我得到一个Java堆空间错误:(
<center>   
    <select>  
        <%
            try {
                SessionFactory sf = HibernateUtil.getSessionFactory();
                Session s = sf.openSession();
                Transaction tx = s.beginTransaction();

                Role se = new Role();

                String hql = "select r.roleid from Role r";
                Query q = s.createQuery(hql);
                ArrayList li = (ArrayList) q.list();
                System.out.println("List Size = " + li.size());
                /*
                    if List Size is 0 then no option values will show
                */
                Iterator ie = li.iterator();
        %>

        <%
            while (ie.hasNext()) {
                Integer un = se.getRoleid();
        %>

        <option value="<%= un%>"><%= un%></option>

        <%
            }
        %>

        <%
            } catch (Exception he) {
                he.printStackTrace();
            }
        %>
    </select>   
</center>