Olá a todos, boa noite.
Pessoal tenho uma página que é composta por:
topo, menu esquerdo e meio.
Onde a parte do meio é composta por um
textarea. Nesta parte (meio) desejo que atualizações sejam realizadas após ser dado um submit na página.
Para tal, estou usando
jQuery + Ajax + Servlet
Sendo assim, meus código em
jQuery + Ajax ficaram da seguinte maneira abaixo.
// Preencho os menus inputMenu e inputSubMenu
var menu = [],
subMenu = [],
inputMenu = [],
inputSubMenu = [];
$(".conteudoMenu a").click(function(){
menu.push($(this).parent(".conteudoMenu").parent("li").find(".itemMenu").attr("id"));
subMenu.push($(this).attr("id"));
// Adiciona os valores aos arrays dos inputs @id=menu e @id=subMenu.
inputMenu.push($("form[name=valueArrays] input[id=menu]").val(_.intersection(itensMenu, menu)));
inputSubMenu.push($("form[id=valueArrays] input[id=subMenu]").val(subMenu));
});
// Ação que deve acontecer depois que o meu botão for pressionado
$("#submitValuesMenu").click(function(){
if(inputMenu.length > 0){
$.ajax({
url: "ObtainsValuesMenu",
type: "POST",
data: {
"menu":inputMenu,
"subMenu":inputSubMenu
},
error:function(){
alert("ERRO MENU")
},
success:function(data){
$("textarea[id=assembleQuery]").text(data); // Textarea no qual desejo que as atualizações apareçam
}
});
}
});
O meu
Servlet estar da seguinte maneira abaixo
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
// Obtém os valores vindo do meu código jQuery + Ajax
String[] menu = request.getParameterValues("menu[]");
String[] subMenu = request.getParameterValues("subMenu[]");
// TEM MAIS CÓDIGO MAS, PRA RESUMIR DEIXEI APENAS ESSE TRECHO
request.setAttribute("query", query);
RequestDispatcher rd = request.getRequestDispatcher("/page-loaded-ontology.jsp");
rd.forward(request, response);
}
Meu textarea ta da seguinte maneira
<textarea id="assembleQuery" name="assembleQuery">${query}</textarea>
Meu formulário encontra da seguinte maneira abaixo.
<form name="valueArrays" id="valueArrays" action="assembles-query" method="post">
<input type="hidden" id="menu" name="menu[]" value="" />
<input type="hidden" id="subMenu" name="subMenu[]" value="" />
<input type="hidden" id="domainOntology" name="domainOntology" value="${domainOntology}" />
<input type="submit" name="submitValuesMenu" id="submitValuesMenu" value="Gravar" />
</form>
Por fim, meu
web.xml estar da seguinte maneira abaixo.
<servlet>
<servlet-name>ObtainsValuesMenu</servlet-name>
<servlet-class>
myexample.servlet.ObtainsValuesMenuServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ObtainsValuesMenu</servlet-name>
<url-pattern>/assembles-query</url-pattern>
</servlet-mapping>
No entanto, da maneira que se encontra o meu código além de redirecionar a minha página não atualiza o conteúdo do meu
textarea.
Alguém saberia me dizer aonde que estou errando e o que posso fazer pra consertar esse erro?
Desde de já obrigado pela ajuda de todos.