本文介绍了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