请求参数的绑定
Posted almm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请求参数的绑定相关的知识,希望对你有一定的参考价值。
1.例如:ParamController.java
/*请求参数的绑定*/
@RequestMapping("/testParam")
public String testParam(String username,String password){
sout("执行了。。。");
sout("用户名"+username);
return "success";
}}
对应的param.jsp有
<%--请求参数的绑定--%>
<a href="param/testParam?username=hehe&password=123">请求</a>
2.例如:请求参数绑定实体类
/*请求参数绑定把数据封装到JavaBean的类中*/
@RequestMapping(“/SaveAccount”)
public String SaveAccount(Account account){
sout("执行了。。。");
sout(account);//直接用一个JavaBean保存内容
return "success";
}}
3.Post请求会出现中文乱码,加上过滤器解决中文乱码
<form action="param/SaveAccount" method="post">
姓名:<input type="text" name="username" ><br/>
密码:<input type="text" name="password" ><br/>
金额:<input type="text" name="username" ><br/>
<input type="submit" value="提交"/>
</form>
注意:get请求乱码和tomcat版本有关,8.5的时候tomcat解决了get乱码问题,
但是post请求还没有解决中文乱码,需要配置过滤器
例如:在web.xml里面<!--配置解决中文乱码的过滤器-->
<filter>
<filter-name>characterEncodingFilter(这里只是随便起了一个名字)</filter-name>
<filter-class>org.Springframeworkweb.filter.characterEncodingFilter</filter>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-ualue>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*<url-pattern>
</filter-mapping>
4.自定义类型转换
在springmvc.xml里面配置类型转换器
<bean id="XXX" class="org.springframework.context.support.conversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="类的全路径传过来"/>
</set>
</property>
</bean>
注意:.conversionServiceFactoryBean只是注册了一个服务或者说配了一个组件,和类里面的类型转换的那个类还没有关系,
<property name="converters">的converters是类自带的方法, <bean class="类的全路径传过来"/>传过来之后才能建立联系
<!--开启springmvc框架注解的支持-->
注意:annotation-driver在这里默认会把适配器,处理器,映射器,组件都失效,但是自定义的类型转换未生效
<mvc:annotation-driver conversion-service:"conversionService"/>
以上是关于请求参数的绑定的主要内容,如果未能解决你的问题,请参考以下文章
Action 有多个参数被指定或推断为从请求正文绑定。每个动作只能绑定一个参数
SpringMVC 从入门到精通系列 02——请求参数的绑定
Springday04 SpringMVC入门案例控制器和三大主件Spring请求参数绑定SpringMVC使用servlet的api请求头请求体相关注解