相关文章推荐
俊逸的罐头  ·  Django运行报错 return ...·  1 年前    · 
很拉风的石榴  ·  在 Pandas 中使用 ...·  1 年前    · 
本文介绍了JavaWeb中向Controller传递参数的七种方法:1) form表单提交,2) AJAX提交(包括URL参数和form提交),3) URL+参数,4) Pojo对象传递,5) 简单类型传递,6) 数组传递,7) 集合List传递。详细阐述了每种方法的实现过程和注意事项。 摘要生成于 ,由 DeepSeek-R1 满血版支持,

第一种:通过使用form表单(隐藏域)

第二种:通过ajax提交,传递的少量参数

Jquery AJAX提交表单有两种方式, 一是url参数提交数据 二是form提交 (和平常一样在后台可以获取到Form表单的值)。在所要提交的表单中,如果元素很多的话建议用第二种方式进行提交。

form提交

新建两个页面:

1、show.jsp:调用ajax,将表单中的数据发送给ajax.jsp页面。

2、ajax.jsp:获取show.jsp页面传递的表单数据,并返回结果。

两个页面的编码格式要设置为GBK:

pw.print(random);这里的random就是action要向jsp传的值,在jsp中,success: function(text)这里的text就是接收从action传过来的值。

第三种:url+参数传递,controller层都可以使用request或者方法的形参中定义同名参数接收

第四种:pojo对象的传递,controller可以在方法的形参中定义pojo对象,这样jsp页面标签的name属性名要和pojo对象的属性名一致,pojo才可以接收到

第五种:简单类型的传递,jsp页面标签的name属性名和controller方法形参的变量名一致,可以接收,类似于第三种

第六种:数组的传递,controller方法形参使用数组名称要和jsp页面的标签的name属性值一致

第七种:集合list传递(通常都是批量提交数据时使用一个或多个list<pojo>),  controller方法形参不能直接接收list,一般使用包装类型Vo(Vo中包含list属性,例如:list<pojo>,Vo可以包装复杂的查询条件,多个表对象都包含进去),jsp页面标签的name属性名要与Vo中的list<UserCustom> userlist的对象的UserCustom中属性名一致,jsp页面标签name的写法为name=userlist.[${status.index }].name