gpt4 book ai didi

java - 将字符串数组从 JSP 页面传递到服务器

转载 作者:行者123 更新时间:2023-12-01 12:56:49 27 4
gpt4 key购买 nike

在我的 Spring 应用程序中,我尝试通过以下代码从我的 View 传递一个字符串数组:

$( ".form" ).submit(function( event ) {
event.preventDefault();
var $form = $( this ), url = $form.attr( "action" );

var selecao_permissoes=[];
$('#selecao option').each(function(){
selecao_permissoes.push($(this).val());
});

var nome = $("input[name=nome]").val();

$.ajax({
type: "POST",
url: url,
data: { nome: nome, permissoes: selecao_permissoes }
}).done(function( msg ) {
$("#"+msg).show();
$(".form").each (function(){
this.reset();
});
});
});

从我的服务类中获取此方法:

public boolean cadastra(HttpServletRequest request, HttpServletResponse response) {
String nome_grupo = request.getParameter("nome");
String[] permissoes = request.getParameterValues("permissoes");

if(nome_grupo == null || permissoes == null) {
System.out.println("nome_grupo = "+nome_grupo);
System.out.println("permissoes = "+permissoes);
return false;
}

GrupoPermissao grupo = new GrupoPermissao();
grupo.setNome(nome_grupo);

List<Permissao> lista = new ArrayList<Permissao>();
for(int i=0; i<permissoes.length; i++)
lista.add(permissao.findById(Integer.valueOf(permissoes[i]).intValue()));
grupo.setPermissao(lista);

return grupo_permissao.persist(grupo);
}

属性“nome”接收到正确的值,但属性“permissoes”接收到空值。

谁能告诉我为什么会这样?我无法弄清楚这样做的动机。

最佳答案

尝试:

String[] permissoes = request.getParameterValues("permissoes[]");

我不知道为什么,这很烦人,如果由于某种原因你发布了一个数组并希望它出现在你的java servlet中,那么jquery是如何做的。

关于java - 将字符串数组从 JSP 页面传递到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23816548/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com