在系列(3)中我们介绍了请求是如何映射到一个action上的,下一步当然是如何获取到请求中的数据,这就引出了本篇所要讲的内容—数据绑定。
首先看一下都有哪些绑定数据的注解:
1.@RequestParam,绑定单个请求数据,可以是URL中的数据,表单提交的数据或上传的文件;
2.@PathVariable,绑定URL模板变量值;
3.@CookieValue,绑定Cookie数据;
4.@RequestHeader,绑定请求头数据;
5.@ModelAttribute,绑定数据到Model;
6.@SessionAttributes,绑定数据到Session;
7.@RequestBody,用来处理Content-Type不是application/x-www-form-urlencoded编码的内容,例如application/json, application/xml等;
8.@RequestPart,绑定“multipart/data”数据,并可以根据数据类型进项对象转换;
下面我们来看如何使用:
1.@RequestParam:
为了验证文件绑定我们需要先做以下工作:
a.把commons-fileupload-1.3.1.jar和commons-io-2.4.jar两个jar包添加到我们项目。
b.配置我们项目中的springservlet-config.xml文件使之支持文件上传,内容如下:
[xml] view plain copy print?
<code class="hljs xml" style='padding: 10px; color: rgb(220, 220, 220); line-height: 1.4; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; background-color: rgb(63, 63, 63);'><span class="hljs-comment" style="color: rgb(127, 159, 127);"><!-- 支持上传文件 --></span>
<span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">bean</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span><span class="hljs-attr"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">id</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"multipartResolver"</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span><span class="hljs-attr"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">class</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"org.springframework.web.multipart.commons.CommonsMultipartResolver"</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span>
<span class="hljs-comment" style="color: rgb(127, 159, 127);"><!-- 设置上传文件的最大尺寸为1MB --></span>
<span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">property</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span><span class="hljs-attr"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">name</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"maxUploadSize"</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span>
<span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">value</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span>1048576<span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">value</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span>
<span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">property</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span>
<span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">property</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span><span class="hljs-attr"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">name</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"defaultEncoding"</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span>
<span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">value</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span>UTF-8<span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">value</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span>
<span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">property</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span>
<span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">bean</span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></code>
<!-- 支持上传文件 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置上传文件的最大尺寸为1MB -->
<property name="maxUploadSize">
<value>1048576</value>
</property>
<property name="defaultEncoding">
<value>UTF-8</value>
</property></bean>
其中maxUploadSize用于限制上传文件的最大大小,也可以不做设置,这样就代表上传文件的大小木有限制。defaultEncoding用于设置上传文件的编码格式,用于解决上传的文件中文名乱码问题。
下面就看具体如何使用:
添加一个DataBindController,里面有2个paramBind的action分别对应get和post请求:
[java] view plain copy print?
<code class="hljs less" style='padding: 10px; color: rgb(220, 220, 220); line-height: 1.4; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; background-color: rgb(63, 63, 63);'>package com<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.demo</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.web</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.controllers</span>;
import javax<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.servlet</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.http</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.HttpServletRequest</span>;
import org<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.springframework</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.stereotype</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.Controller</span>;
import org<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.springframework</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.web</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.bind</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.ServletRequestUtils</span>;
import org<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.springframework</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.web</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.bind</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.annotation</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.RequestMapping</span>;
import org<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.springframework</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.web</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.bind</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.annotation</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.RequestMethod</span>;
import org<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.springframework</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.web</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.bind</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.annotation</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.RequestParam</span>;
import org<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.springframework</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.web</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.multipart</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.MultipartFile</span>;
import org<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.springframework</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.web</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.multipart</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.MultipartHttpServletRequest</span>;
import org<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.springframework</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.web</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.servlet</span><span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.ModelAndView</span>;
<span class="hljs-variable" style="color: rgb(239, 220, 188);">@Controller</span>
<span class="hljs-variable" style="color: rgb(239, 220, 188);">@RequestMapping</span>(value = <span class="hljs-string" style="color: rgb(204, 147, 147);">"/databind"</span>)
public class DataBindController {
<span class="hljs-variable" style="color: rgb(239, 220, 188);">@RequestMapping</span>(value=<span class="hljs-string" style="color: rgb(204, 147, 147);">"/parambind"</span>, method = {RequestMethod.GET})
public ModelAndView paramBind(){
ModelAndView modelAndView = new ModelAndView();
modelAndView<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.setViewName</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"parambind"</span>);
return modelAndView;
}
<span class="hljs-variable" style="color: rgb(239, 220, 188);">@RequestMapping</span>(value=<span class="hljs-string" style="color: rgb(204, 147, 147);">"/parambind"</span>, method = {RequestMethod.POST})
public ModelAndView paramBind(HttpServletRequest request, <span class="hljs-variable" style="color: rgb(239, 220, 188);">@RequestParam</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"urlParam"</span>) String urlParam, <span class="hljs-variable" style="color: rgb(239, 220, 188);">@RequestParam</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"formParam"</span>) String formParam, <span class="hljs-variable" style="color: rgb(239, 220, 188);">@RequestParam</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"formFile"</span>) MultipartFile formFile){
<span class="hljs-comment" style="color: rgb(127, 159, 127);">//如果不用注解自动绑定,我们还可以像下面一样手动获取数据</span>
String urlParam1 = ServletRequestUtils<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.getStringParameter</span>(request, <span class="hljs-string" style="color: rgb(204, 147, 147);">"urlParam"</span>, null);
String formParam1 = ServletRequestUtils<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.getStringParameter</span>(request, <span class="hljs-string" style="color: rgb(204, 147, 147);">"formParam"</span>, null);
MultipartFile formFile1 = ((MultipartHttpServletRequest) request)<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.getFile</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"formFile"</span>);
ModelAndView modelAndView = new ModelAndView();
modelAndView<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.addObject</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"urlParam"</span>, urlParam);
modelAndView<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.addObject</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"formParam"</span>, formParam);
modelAndView<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.addObject</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"formFileName"</span>, formFile.getOriginalFilename());
modelAndView<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.addObject</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"urlParam1"</span>, urlParam1);
modelAndView<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.addObject</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"formParam1"</span>, formParam1);
modelAndView<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.addObject</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"formFileName1"</span>, formFile1.getOriginalFilename());
modelAndView<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.setViewName</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"parambindresult"</span>);
return modelAndView;
}
}</code>
package com.demo.web.controllers;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
@Controller@RequestMapping(value = "/databind")
public class DataBindController {
@RequestMapping(value="/parambind", method = {RequestMethod.GET})
public ModelAndView paramBind(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("parambind");
return modelAndView;
}
@RequestMapping(value="/parambind", method = {RequestMethod.POST})
public ModelAndView paramBind(HttpServletRequest request, @RequestParam("urlParam") String urlParam, @RequestParam("formParam") String formParam, @RequestParam("formFile") MultipartFile formFile){
//如果不用注解自动绑定,我们还可以像下面一样手动获取数据
String urlParam1 = ServletRequestUtils.getStringParameter(request, "urlParam", null);
String formParam1 = ServletRequestUtils.getStringParameter(request, "formParam", null);
MultipartFile formFile1 = ((MultipartHttpServletRequest) request).getFile("formFile");
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("urlParam", urlParam);
modelAndView.addObject("formParam", formParam);
modelAndView.addObject("formFileName", formFile.getOriginalFilename());
modelAndView.addObject("urlParam1", urlParam1);
modelAndView.addObject("formParam1", formParam1);
modelAndView.addObject("formFileName1", formFile1.getOriginalFilename());
modelAndView.setViewName("parambindresult");
return modelAndView;
}
}
在views文件夹中添加parambind.jsp和parambindresult.jsp两个视图,内容分别如下:
[html] view plain copy print?
<code class="hljs erb" style='padding: 10px; color: rgb(220, 220, 220); line-height: 1.4; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; background-color: rgb(63, 63, 63);'><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">%</span></span></span></span></span></span><span class="ruby"><span class="ruby">@ page language=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="ruby"><span class="hljs-string" style="color: rgb(204, 147, 147);">"java"</span></span></span><span class="ruby"> contentType=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="ruby"><span class="hljs-string" style="color: rgb(204, 147, 147);">"text/html; charset=UTF-8"</span></span></span><span class="ruby">
pageEncoding=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="ruby"><span class="hljs-string" style="color: rgb(204, 147, 147);">"UTF-8"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">%></span></span></span><span class="xml">
</span><span class="hljs-meta" style="color: rgb(127, 159, 127);"><span class="xml"><span class="hljs-meta"><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">html</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">head</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">meta</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">http-equiv</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"Content-Type"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">content</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"text/html; charset=UTF-8"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">title</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">Insert title here</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">title</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">head</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">body</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">form</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">action</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"parambind?urlParam=AAA"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">method</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"post"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">enctype</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"multipart/form-data"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">input</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">type</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"text"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">name</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"formParam"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> /></span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">input</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">type</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"file"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">name</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"formFile"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> /></span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">input</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">type</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"submit"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">value</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"Submit"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> /></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">form</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">body</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">html</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span></span></code>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>
<form action="parambind?urlParam=AAA" method="post" enctype="multipart/form-data">
<input type="text" name="formParam" /><br/>
<input type="file" name="formFile" /><br/>
<input type="submit" value="Submit" />
</form> </body></html>
[html] view plain copy print?
<code class="hljs dust" style='padding: 10px; color: rgb(220, 220, 220); line-height: 1.4; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; background-color: rgb(63, 63, 63);'><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">%@</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">page</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">language</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"java"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">contentType</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"text/html; charset=UTF-8"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">
</span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">pageEncoding</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"UTF-8"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">%></span></span></span><span class="xml">
</span><span class="hljs-meta" style="color: rgb(127, 159, 127);"><span class="xml"><span class="hljs-meta"><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">html</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">head</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">meta</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">http-equiv</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"Content-Type"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">content</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"text/html; charset=UTF-8"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">title</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">Insert title here</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">title</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">head</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">body</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
自动绑定数据:</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
$</span></span><span class="hljs-template-variable" style="color: rgb(239, 220, 188);">{urlParam}</span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
$</span></span><span class="hljs-template-variable" style="color: rgb(239, 220, 188);">{formParam}</span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
$</span></span><span class="hljs-template-variable" style="color: rgb(239, 220, 188);">{formFileName}</span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
手动获取数据:</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
$</span></span><span class="hljs-template-variable" style="color: rgb(239, 220, 188);">{urlParam1}</span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
$</span></span><span class="hljs-template-variable" style="color: rgb(239, 220, 188);">{formParam1}</span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
$</span></span><span class="hljs-template-variable" style="color: rgb(239, 220, 188);">{formFileName1}</span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">body</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">html</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb
(227, 206, 171);">></span></span></span></span></code>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>
自动绑定数据:<br/><br/>
${urlParam}<br/>
${formParam}<br/>
${formFileName}<br/><br/><br/><br/>
手动获取数据:<br/><br/>
${urlParam1}<br/>
${formParam1}<br/>
${formFileName1}<br/></body></html>
运行项目,输入内容,选择上传文件:
提交查看结果:
可以看到绑定的数据已经获取到了。
上面我们演示了如何把数据绑定到单个变量,但在实际应用中我们通常需要获取的是model对象,别担心,我们不需要把数据绑定到一个个变量然后在对model赋值,只需要把model加入相应的action参数(这里不需要指定绑定数据的注解)Spring MVC会自动进行数据转换并绑定到model对象上,一切就是这么简单。测试如下:
添加一个AccountModel类作为测试的model:
[java] view plain copy print?
<code class="hljs java" style='padding: 10px; color: rgb(220, 220, 220); line-height: 1.4; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; background-color: rgb(63, 63, 63);'><span class="hljs-keyword" style="color: rgb(227, 206, 171);">package</span> com.demo.web.models;
<span class="hljs-keyword" style="color: rgb(227, 206, 171);">public</span> <span class="hljs-class"><span class="hljs-keyword" style="color: rgb(227, 206, 171);"><span class="hljs-class"><span class="hljs-keyword" style="color: rgb(227, 206, 171);">class</span></span></span><span class="hljs-class"> </span><span class="hljs-title" style="color: rgb(239, 239, 143);"><span class="hljs-class"><span class="hljs-title" style="color: rgb(239, 239, 143);">AccountModel</span></span></span><span class="hljs-class"> </span></span>{
<span class="hljs-keyword" style="color: rgb(227, 206, 171);">private</span> String username;
<span class="hljs-keyword" style="color: rgb(227, 206, 171);">private</span> String password;
<span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);"><span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);">public</span></span></span><span class="hljs-function"> </span><span class="hljs-keyword" style="color: rgb(227, 206, 171);"><span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);">void</span></span></span><span class="hljs-function"> </span><span class="hljs-title" style="color: rgb(239, 239, 143);"><span class="hljs-function"><span class="hljs-title" style="color: rgb(239, 239, 143);">setUsername</span></span></span><span class="hljs-params"><span class="hljs-function"><span class="hljs-params">(String username)</span></span></span></span>{
<span class="hljs-keyword" style="color: rgb(227, 206, 171);">this</span>.username=username;
}
<span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);"><span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);">public</span></span></span><span class="hljs-function"> </span><span class="hljs-keyword" style="color: rgb(227, 206, 171);"><span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);">void</span></span></span><span class="hljs-function"> </span><span class="hljs-title" style="color: rgb(239, 239, 143);"><span class="hljs-function"><span class="hljs-title" style="color: rgb(239, 239, 143);">setPassword</span></span></span><span class="hljs-params"><span class="hljs-function"><span class="hljs-params">(String password)</span></span></span></span>{
<span class="hljs-keyword" style="color: rgb(227, 206, 171);">this</span>.password=password;
}
<span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);"><span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);">public</span></span></span><span class="hljs-function"> String </span><span class="hljs-title" style="color: rgb(239, 239, 143);"><span class="hljs-function"><span class="hljs-title" style="color: rgb(239, 239, 143);">getUsername</span></span></span><span class="hljs-params"><span class="hljs-function"><span class="hljs-params">()</span></span></span></span>{
<span class="hljs-keyword" style="color: rgb(227, 206, 171);">return</span> <span class="hljs-keyword" style="color: rgb(227, 206, 171);">this</span>.username;
}
<span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);"><span class="hljs-function"><span class="hljs-keyword" style="color: rgb(227, 206, 171);">public</span></span></span><span class="hljs-function"> String </span><span class="hljs-title" style="color: rgb(239, 239, 143);"><span class="hljs-function"><span class="hljs-title" style="color: rgb(239, 239, 143);">getPassword</span></span></span><span class="hljs-params"><span class="hljs-function"><span class="hljs-params">()</span></span></span></span>{
<span class="hljs-keyword" style="color: rgb(227, 206, 171);">return</span> <span class="hljs-keyword" style="color: rgb(227, 206, 171);">this</span>.password;
}
}</code>
package com.demo.web.models;
public class AccountModel {
private String username;
private String password;
public void setUsername(String username){
this.username=username;
}
public void setPassword(String password){
this.password=password;
}
public String getUsername(){
return this.username;
}
public String getPassword(){
return this.password;
}
}
在DataBindController里面添加2个modelAutoBind的action分别对应get和post请求:
[java] view plain copy print?
<code class="hljs less" style='padding: 10px; color: rgb(220, 220, 220); line-height: 1.4; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; background-color: rgb(63, 63, 63);'><span class="hljs-variable" style="color: rgb(239, 220, 188);">@RequestMapping</span>(value=<span class="hljs-string" style="color: rgb(204, 147, 147);">"/modelautobind"</span>, method = {RequestMethod.GET})
public String modelAutoBind(HttpServletRequest request, Model model){
model<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.addAttribute</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"accountmodel"</span>, new AccountModel());
return "modelautobind";
}
<span class="hljs-variable" style="color: rgb(239, 220, 188);">@RequestMapping</span>(value=<span class="hljs-string" style="color: rgb(204, 147, 147);">"/modelautobind"</span>, method = {RequestMethod.POST})
public String modelAutoBind(HttpServletRequest request, Model model, AccountModel accountModel){
model<span class="hljs-selector-class" style="color: rgb(239, 239, 143);">.addAttribute</span>(<span class="hljs-string" style="color: rgb(204, 147, 147);">"accountmodel"</span>, accountModel);
return "modelautobindresult";
}</code>
@RequestMapping(value="/modelautobind", method = {RequestMethod.GET})
public String modelAutoBind(HttpServletRequest request, Model model){
model.addAttribute("accountmodel", new AccountModel());
return "modelautobind";
}
@RequestMapping(value="/modelautobind", method = {RequestMethod.POST})
public String modelAutoBind(HttpServletRequest request, Model model, AccountModel accountModel){
model.addAttribute("accountmodel", accountModel);
return "modelautobindresult";
}
在views文件夹中添加modelautobind.jsp和modelautobindresult.jsp 2个视图用于提交数据和展示提交的数据:
modelautobind.jsp:
[html] view plain copy print?
<code class="hljs erb" style='padding: 10px; color: rgb(220, 220, 220); line-height: 1.4; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; background-color: rgb(63, 63, 63);'><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">%</span></span></span></span></span></span><span class="ruby"><span class="ruby">@ page language=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="ruby"><span class="hljs-string" style="color: rgb(204, 147, 147);">"java"</span></span></span><span class="ruby"> contentType=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="ruby"><span class="hljs-string" style="color: rgb(204, 147, 147);">"text/html; charset=UTF-8"</span></span></span><span class="ruby">
pageEncoding=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="ruby"><span class="hljs-string" style="color: rgb(204, 147, 147);">"UTF-8"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">%></span></span></span><span class="xml">
</span><span class="hljs-meta" style="color: rgb(127, 159, 127);"><span class="xml"><span class="hljs-meta"><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">%</span></span></span></span></span></span><span class="ruby"><span class="ruby">@ taglib prefix=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="ruby"><span class="hljs-string" style="color: rgb(204, 147, 147);">"form"</span></span></span><span class="ruby"> uri=</span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="ruby"><span class="hljs-string" style="color: rgb(204, 147, 147);">"http://www.springframework.org/tags/form"</span></span></span><span class="ruby"> </span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">%></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">html</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">head</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">meta</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">http-equiv</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"Content-Type"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">content</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"text/html; charset=UTF-8"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml"> </span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">title</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">Insert title here</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">title</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">head</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">body</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">form:form</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">modelAttribute</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"accountmodel"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">method</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"post"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
用户名:</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">form:input</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">path</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"username"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
密 码:</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">form:password</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">path</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"password"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">br</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">/></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">input</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">type</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"submit"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> </span></span><span class="hljs-attr"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-attr">value</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">=</span></span><span class="hljs-string" style="color: rgb(204, 147, 147);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-string" style="color: rgb(204, 147, 147);">"Submit"</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"> /></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">form:form</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">body</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span><span class="xml">
</span><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"></</span></span><span class="hljs-name" style="color: rgb(239, 239, 143);"><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);"><span class="hljs-name" style="color: rgb(239, 239, 143);">html</span></span></span></span><span class="xml"><span class="hljs-tag" style="color: rgb(227, 206, 171);">></span></span></span></span></code>