wu453973171 2016-04-08 05:19 采纳率: 33.3%
浏览 2816
已采纳

spring MVC jsp页面获取参数 以对象的方式

jsp里面的body部分

  <h1>用户信息添加2</h1>
  <form action="user/add3.do"  method="post">
        编号:<input type="text"  name="userId"/><br/>
        姓名:<input type="text"  name="userName"/><br/>
        性别:<input type="text"  name="userSex"/><br/>
        <input type="submit"  value="提交"/>
  </form>

Controller部分

@RequestMapping("/user")
public class UserController {

 @RequestMapping("/add3.do" )
 public String add3(UserInfo user)
 {
      System.out.println(user);
      return "user_add3";
 }

}

UserInfo 类

 import java.util.Arrays;

public class UserInfo {
    private Integer userId;
    private String  userName;
    private String  userSex;
    private String[] userXq;
    public Integer getUserId() {
        return userId;
    }
    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserSex() {
        return userSex;
    }
    public void setUserSex(String userSex) {
        this.userSex = userSex;
    }
    public String[] getUserXq() {
        return userXq;
    }
    public void setUserXq(String[] userXq) {
        this.userXq = userXq;
    }
    @Override
    public String toString() {
        return "UserInfo [userId=" + userId + ", userName=" + userName
                + ", userSex=" + userSex + ", userXq="
                + Arrays.toString(userXq) + "]";
    }

}

已经有utf-8 编码转换

 package com.liu.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;

/**
 * Servlet Filter implementation class UTFFilter
 */
@WebFilter("/*")
public class UTFFilter implements Filter {

    /**
     * Default constructor. 
     */
    public UTFFilter() {
        // TODO Auto-generated constructor stub
    }

    /**
     * @see Filter#destroy()
     */
    public void destroy() {
        // TODO Auto-generated method stub
    }

    /**
     * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
     */
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        // TODO Auto-generated method stub
        // place your code here
        request.setCharacterEncoding("utf-8");
        // pass the request along the filter chain
        chain.doFilter(request, response);
    }

    /**
     * @see Filter#init(FilterConfig)
     */
    public void init(FilterConfig fConfig) throws ServletException {
        // TODO Auto-generated method stub
    }

}

出来的界面 是3个 输入框 如果 我只在第一个输入框里输入了汉字 就报错

The request sent by the client was syntactically incorrect.


只在第一个输入框里输入的只是数字的话就不报错
其他情况都不报错
求原因

  • 写回答

2条回答

  • haikuokuangtu 2016-04-08 05:26
    关注

    你第一个输入框是编号,你输入中文最后肯定会报错,因为中文属于字符串类型,而你的编号是整型的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题