我们先来看看这两张图:
第一张为JSP 页面

第二张为 controller 后台:

1.我们先看第一张的jsp
<form role="form" id="myform" action="chargeDeviceList.htm" method="post" class="form-horizontal">
这边的action="chargeDeviceList.htm" 方法就是调用(value = "/chargeDeviceList")这边的,所以action这边要和value 里面的值一样。

2<input type="hidden" value="queryChargeDeviceList.htm" id="formName">
这边还有个 翻页的方法,所以 这边的方法也要和(value ="/chargeDeviceList") 这边的一样,如果不一样,翻页就会报错。

3<input type="text" class="form-control col-md-8" name="nickName" id="nickName" placeholder="设备名称" value="${nickName}" >
这边的几个变量我们来解释下:name="nickName" 是传到后台controller 去的数据,是传给
ModelAndView queryChargeDeviceList(PageBean pageBean, HttpServletRequest request, HttpServletResponse response,String nickName,String chargePortLeft,String chargePortRight) 中这些对应的变量。
id="nickName" 是 jsp 页面之前的相互传值的变量。
value="${nickName}" 是 controller 那边的return 传出来的参数变量

ModelAndView mav = new ModelAndView("charge/chargeDeviceList");

return mav.addObject("pageBean", pageBean) .addObject("nickName",nickName) .addObject("chargePortLeft",chargePortLeft) .addObject("chargePortRight",chargePortRight);

4 现在我们再来理解下 调用的顺序:
首先,我们点击某个页面的时候,比如某个报表,会再地址栏出现:一串地址
http://xxx.xxx.xxx.xxx:8080/aaa/chargeDeviceList.htm?.........
这个chargeDeviceList.htm 这个地方得这个就是取自action="chargeDeviceList.htm" 这里的。
然后,这个action="chargeDeviceList.htm" 就会去找到 controller 那边的对应的 方法
@RequestMapping(value = "/chargeDeviceList") 如果不到找到对应的方法,就会报错,如果找得到,就会继续响应,然后将 jsp 中的变量name="nickName" 带入到
String nickName,String chargePortLeft,String chargePortRight 这边对应的变量中来,然后传给后台,后台在获取到数据后,然后再通过这边返回给 前台,返回给前台的JSP的

return mav.addObject("pageBean", pageBean) .addObject("nickName",nickName) .addObject("chargePortLeft",chargePortLeft) .addObject("chargePortRight",chargePortRight);

返回给前台的 name="nickName"id="nickName"value="${nickName}"这边,

value 这边就会是一个对应的具体的数字,而 id 是jsp 之间传递的变量,这个不会直接体现具体值,如果 没有用到

id="nickName"这个我们可以把它删了。

这就是具体的 jsp 调用与值传递的步骤。