Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Java Script não carrega no projeto Spring

Criei na minha webApp uma pasta resources , e dentro dela uma com nome js colocando meu javaScript dentro dela, na minha jsp coloquei o seguinte codigo:

<script type="text/javascript" src="js/controle.js"></script>

o problema é que não esta reconhecendo, podem me ajudar?

9 respostas

Oi Diego,

Parece que o servlet do Spring MVC está recebendo todas as requisições, mas negando o acesso a pasta resources.

Para liberar o acesso vc deve usar uma configuração no XML do Spring (está usando XML?):

<mvc:default-servlet-handler/>

abs

fazendo tudo no pom

Ok, no pom.xml tem as dependencias, mas como o Spring MVC foi configurado?

abs

criei essas duas classes

public class ServletSpringMVC extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {

        return null;
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {

        return new Class[] { AppWebConfiguration.class, JPAConfiguration.class };
    }

    @Override
    protected String[] getServletMappings() {

        return new String[] { "/" };
    }

}
@EnableWebMvc
@ComponentScan(basePackageClasses = { HomeController.class, DepartamentoDAO.class, SetorDAO.class, CategoriaDAO.class,
        FamiliaDAO.class, SubFamiliaDAO.class, UsuarioDAO.class })
public class AppWebConfiguration {

    @Bean
    public InternalResourceViewResolver internalResourceViewResolver() {

        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }

}

estou usando as anotations sem xml

Oi Diego, tudo bem?

Como você tá usando configuração programática tente fazer assim:

@EnableWebMvc
@ComponentScan(basePackageClasses = { HomeController.class, DepartamentoDAO.class, SetorDAO.class, CategoriaDAO.class,
        FamiliaDAO.class, SubFamiliaDAO.class, UsuarioDAO.class })
public class AppWebConfiguration extends WebMvcConfigurerAdapter {

    @Bean
    public InternalResourceViewResolver internalResourceViewResolver() {

        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

}

Abraços!

Não funcionou assim tambem, alguma outra sugestão?

consegui resolver peguei os arquivos do bootstrap, coloquei nas resources e na pasta js, coloquei meu arquivo. Como eu tinha feito tudo in line para testar ai ele não estava reconhecendo o conteúdo do arquivo. O problema agora e que quando carrego minha combo e passo o id para controller retornar os dados da próxima, ela carrega normal, só que quando eu seleciono alguma opção dessa segunda combo ela fica com todas opçoes Object Objetc


    $("#divSetor").hide();
    $("#divCategoria").hide();
    $("#divFamilia").hide();
    $("#divSubFamilia").hide()

    $(document).ready(function() {

        $('#CmbDepartamento').change(function() {
            var seleci = $("#CmbDepartamento").val();
            var comboset = document.getElementById('CmbSetor');

            $("#divCategoria").hide();
            $("#divFamilia").hide();
            $("#divSubFamilia").hide()

            if (seleci == 0) {
                comboset = $("#CmbSetor").empty();
                $("#divSetor").hide();
                $("#divCategoria").hide();
                $("#divFamilia").hide();
                $("#divSubFamilia").hide()
                alert("Selecione um Departamento");

            } else {

                $.ajax({
                    type : 'POST',
                    url : '/Preconizado/departamento/comboSetor',
                    dataType : 'JSON',
                    data : ({
                        id : seleci
                    }),

                    success : function(data) {
                        $("#divSetor").show();
                        carregaCombo(data, comboset);

                    },
                    error : function(data) {
                        console.log("erro na funçao");
                    }

                });

            }
        });
    });



function carregaCombo(data, combo) {

        var listaDados = data; // Lista retornada pelo banco
        var comboSetor = document.getElementById('CmbSetor');
        var comboCategoria = document.getElementById('CmbCategoria');
        var comboFamilia = document.getElementById("CmbFamilia");
        var comboSubFamilia = document.getElementById("CmbSubFamilia");
        var combobox = combo;

        if (combobox == comboCategoria) {

            combobox = $("#CmbCategoria").empty();
            $("#CmbCategoria")
                    .prepend(
                            "<option value='' selected='selected'>---Selecione Categoria---</option>");

            for (var i = 0; i < listaDados.length; i++) {

                combobox.append($('<option>', {

                    value : listaDados[i].cod_categoria,
                    text : listaDados[i].categoria
                }));

            }

        } else if (combobox == comboSetor) {

            combobox = $("#CmbSetor").empty();
            $("#CmbSetor")
                    .prepend(
                            "<option value='' selected='selected'>---Selecione Setor---</option>");

            for (var i = 0; i < listaDados.length; i++) {

                combobox.append($('<option>', {

                    value : listaDados[i].cod_setor,
                    text : listaDados[i].setor
                }));

            }
        }
solução!

Foi bobeira minha, no fim do script eu tinha deixado um trecho que fiz de teste descomentado ai ele tava se perdendo, obrigado pela ajuda!