spring MVC解决中文传参乱码问题

问题:表单提交controller获得中文参数乱码。

首先,所有 jsp页面编码设置为UTF-8。

form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果。

在web.xml中添加SpringMVC编码过滤器:

<filter>  
        <filter-name>characterEncodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
        <init-param>  
            <param-name>forceEncoding</param-name>  
            <param-value>true</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>characterEncodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>  
一般情况下不需要进行强制forceEncoding即可转码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
双向传是指在前端页面和后端Java代码之间进行数据交互,用户在前端页面上进行操作后,将数据发送到后端Java代码进行处理,处理后再将结果返回到前端页面上展示。 在Spring MVC,可以使用ModelAttribute注解来实现双向传。具体步骤如下: 1. 在Java代码定义一个模型类,用来存储需要传递的数据。例如: ```java public class User { private Long id; private String name; private Integer age; // 省略getter和setter方法 } ``` 2. 在controller定义两个方法,一个用于显示前端页面,一个用于处理前端页面提交的数据。例如: ```java @Controller public class UserController { @GetMapping("/user") public String showUser(Model model) { User user = new User(); model.addAttribute("user", user); return "user"; } @PostMapping("/user") public String addUser(@ModelAttribute("user") User user) { // 处理user对象,例如保存到数据库 return "redirect:/user"; } } ``` 上面的代码,showUser方法用于显示前端页面,它将一个空的User对象添加到模型并返回user视图。addUser方法用于处理前端页面提交的数据,它使用@ModelAttribute注解将前端页面传递过来的数据绑定到User对象。 3. 在前端页面使用表单来提交数据。例如: ```html <form action="/user" method="post"> <label for="name">Name:</label> <input type="text" id="name" name="name"><br> <label for="age">Age:</label> <input type="text" id="age" name="age"><br> <button type="submit">Submit</button> </form> ``` 上面的代码,我们使用表单来提交数据,并将数据发送到"/user"路径上。在表单使用name属性来指定每个字段的名称,这些名称将会与User对象的属性名称相匹配,从而将数据绑定到User对象。 4. 最后,在Spring MVC的配置文件配置视图解析器和静态资源处理器。例如: ```xml <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> <mvc:resources mapping="/resources/**" location="/resources/" /> ``` 上面的代码,我们定义了一个视图解析器,用来将视图名称解析为JSP文件的路径。我们还定义了一个静态资源处理器,用来处理静态资源(例如CSS、JavaScript等)。 以上就是使用Spring MVC完成双向传的步骤。通过@ModelAttribute注解,我们可以轻松地将前端页面上的数据绑定到Java对象,并在Java代码对其进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值