获取空白页JSP加载

时间:2016-05-21 22:23:38

标签: java html jsp

我遇到的问题是,当我加载JSP时,它会返回一个空白页面。该页面应该使用参数“btnListar”调用Controller,并调用de DAO列出数据库中的条目。我调试了代码(我使用NetBeans来构建这个应用程序),并且值正在正确传递,变量填充了DAO获取的数据库中的条目,但浏览器应该显示的页面只是没有出现了,它是空白的。

我的控制器:

public class ExperienciaControle extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {
            String action = request.getParameter("action");
            switch (action) {
                case "btnCadastrar": {
                    Experiencia exp = new Experiencia();
                    exp.setEmpresa(request.getParameter("txtEmpresa"));
                    exp.setCargo(request.getParameter("txtCargo"));
                    exp.setData(request.getParameter("txtData"));
                    exp.setAtribuicoes(request.getParameter("txtAtrib"));
                    ExperienciaDAO dao = new ExperienciaDAO();
                    dao.insertExp(exp);
                    break;
                }
                case "btnAtualizar": {
                    Experiencia exp = new Experiencia();
                    exp.setEmpresa(request.getParameter("txtEmpresa"));
                    exp.setCargo(request.getParameter("txtCargo"));
                    exp.setData(request.getParameter("txtData"));
                    exp.setAtribuicoes(request.getParameter("txtAtrib"));
                    ExperienciaDAO dao = new ExperienciaDAO();
                    dao.updateExp(exp);
                    break;
                }
                case "btnRemover": {
                    Experiencia exp = new Experiencia();
                    exp.setId(Integer.parseInt(request.getParameter("chckId")));
                    ExperienciaDAO dao = new ExperienciaDAO();
                    dao.deleteExp(exp);
                    break;
                }
                case "btnListar": {
                    ExperienciaDAO dao = new ExperienciaDAO();
                    ArrayList<Experiencia> expArray = dao.selectExp();
                    request.setAttribute("expArray", expArray);
                    break;
                }
                default:
                    break;
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }
}

我的JSP:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="Modelo.*" %>
<!DOCTYPE html>
<html>
    <head>
        <script src="../js/dropdown.js"></script>
        <script src="../js/jquery-1.12.3.min.js"></script>
        <script src="../js/lista.js"></script>
        <link type="text/css" rel="stylesheet" href="../css/bootstrap.css" />
        <link type="text/css" rel="stylesheet" href="../css/admin.css" />
        <link type="text/css" rel="stylesheet" href="../css/dropdown.css" />
        <link type="text/css" rel="stylesheet" href="../css/body.css" />
        <link type="text/css" rel="stylesheet" href="../css/main.css" />
        <link type="text/css" rel="stylesheet" href="../css/fonts.css" />  
        <title>Currículo | Administração</title>
    </head>
    <body>
        <div class="body">
            <div>
                <nav id="primary_nav_wrap">
                    <ul>
                        <li class="current-menu-item"><a href="../">Home</a></li>
                        <li><a>Experiência</a>
                            <ul>
                                <li><a href="javascript:toggleDiv('divAddExp');">Adicionar</a></li>
                                <li><a href="javascript:toggleDiv('divUpdExp');">Listar</a></li>
                            </ul>
                        </li>
                        <li><a>Educação</a>
                            <ul>
                                <li><a href="#">Adicionar</a></li>
                                <li><a href="#">Atualizar</a></li>
                                <li><a href="#">Remover</a></li>
                            </ul>
                        </li>
                        <li><a>Habilidade</a>
                            <ul>
                                <li><a href="#">Adicionar</a></li>
                                <li><a href="#">Atualizar</a></li>
                                <li><a href="#">Remover</a></li>
                            </ul>
                        </li>
                    </ul>
                </nav>
            </div>
            <div id="divAddExp" style="display:none" class="cadastros">
                <form name="frmExp" action="../ExperienciaControle" method="POST">
                    <h1 style="font-family: Roboto">Cadastro de Experiência</h1><br />
                    <label for="lblEmpresa">Empresa </label><input type="text" name="txtEmpresa" class="form-control" /><br />
                    <label for="lblCargo">Cargo </label><input type="text" name="txtCargo" class="form-control" /><br />
                    <label for="lblData">Data </label><input type="text" name="txtData" class="form-control" /><br />
                    <label for="lblAtrib">Atribuições </label><textarea rows="4" cols="50" name="txtAtrib" class="form-control"></textarea><br />
                    <input class="btn" type="submit" name="btnCadastrar" value="Cadastrar" />
                </form>
            </div>
            <div id="divUpdExp" class="cadastros">
                <form name="frmExp" action="/ExperienciaControle" method="GET">
                    <h1 style="font-family: Roboto">Listagem de Experiência</h1><br />
                    <table>
                        <thead>
                            <tr>
                                <th>&nbsp;</th>
                                <th>ID</th>
                                <th>Empresa</th>
                                <th>Cargo</th>
                            </tr>
                        </thead>
                        <%
                            request.getRequestDispatcher("/ExperienciaControle?action=btnListar").forward(request, response);
                            ArrayList<Experiencia> expArray = (ArrayList<Experiencia>) request.getAttribute("expArray");
                            for (Experiencia exp : expArray) {
                        %>
                        <tr>
                            <td><input type="checkbox" name="chckID" value="<%= exp.getId()%>" /></td>
                            <td><%= exp.getId()%></td>
                            <td><%= exp.getEmpresa()%></td>
                            <td><%= exp.getCargo()%></td>
                        </tr>
                        <%
                            }
                        %>
                    </table>
                    <span><input class="btn" type="submit" name="btnListar" value="Listar" /></span>
                    <span><input class="btn" type="submit" name="btnAtualizar" value="Atualizar" /></span>
                    <span><input class="btn" type="submit" name="btnRemover" value="Remover" /></span>
                </form>
            </div>
        </div>        
    </body>
</html>

如果我从JSP中删除Java代码并将其转换为纯HTML页面,它可以很好地工作,页面出现没有任何问题。 Tomcat(和Glassfish)日志显示没有错误消息,这使事情变得更加困难。 :(

我在这里做错了什么?为什么我得到一个空白页?

完整代码:http://gitlab.creationkit.com.br/thales/Curriculum

0 个答案:

没有答案