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

问题描述

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.


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

解决方案

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

解决方案二:


你的UserId是整型的,输入汉字为 字符串型 肯定报错啊
还有,一般id这种东西怎么有表单填写的?人为的会有重复啊,以后数据多了,够麻烦的,没这么搞得,一般都是代码生成。或者你用整型也是数据库中自增的,反正一般
不会人为定义id这种东西。

时间: 2024-11-08 19:54:38

spring mvc-spring MVC jsp页面获取参数 以对象的方式的相关文章

在JSP页面获取后台action封装的参数,这个参数里面又含有两个对象,二层引用,报错

问题描述 在JSP页面获取后台action封装的参数,这个参数里面又含有两个对象,二层引用,报错 javax.el.PropertyNotFoundException: Property 'userAccount' not found on type java.lang.String 上面是报错信息, 下面是JSP页面: 用户名: ${commentlist.userAccount.userName } 职业: ${commentlist.userAccount.job } ${commentl

servlet-spring mvc项目访问jsp页面出错

问题描述 spring mvc项目访问jsp页面出错 严重: Servlet.service() for servlet jsp threw exception java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at org.gjt.xpp.impl.tokenizer.Tokenizer.next(Tokenizer.java:1274) at org.gjt.xpp.im

struts2中request不能获取jsp页面的参数

问题描述 struts2中request不能获取jsp页面的参数 jsp页面: 用户登录 用户名: 密??码: Action类: public class LoginAction extends BaseAction{ public String execute(){ String username=this.getRequest().get("aname").toString();//获取用户名 String password=this.getRequest().get("

使用mvc框架访问jsp页面的乱码问题

问题描述 使用mvc框架访问jsp页面的乱码问题 在使用mvc框架的时候先连接数据库,然后访问jsp页面,在进行用户名以及密码验证的 时候,英文可以正确通过,而中文则不行,会出现乱码问题.我在web.xml文件里面设置 了filter的编码为UTF-8.也在applicationContext.xml里面连接数据库的时候设置了编码 为UTF-8. 数据库里面的编码也是相同的,为什么还会报这样的错误.求各位大神帮帮忙,我新手来的.(为什么我换台电脑不改代码又可以实现了.这是为什么?) (为什么我在

jsp-表单提交数据之后,JSP页面获取不到,这是什么问题呢?

问题描述 表单提交数据之后,JSP页面获取不到,这是什么问题呢? <from action="research.jsp" method="post"> 请输入你的id号:<input type="text" name="id"><br> <input type="submit" value="提交"> </from> <b

验证码-为什么一个jsp页面获取另一个jsp页面保存的session值为空呢?

问题描述 为什么一个jsp页面获取另一个jsp页面保存的session值为空呢? 在Javaweb中,我用一个jsp页面生成一个验证码图片并用session保存图片上的数字,然后又在另一个denglu.jsp页面用标签导入该图片,可是首次打开denglu.jsp时图片上有显示数字(我在denglu.jsp我也同时输出验证码的值)我发现第一次访问时session的值为null之后在访问就是session就是记录图片上一次的值(比如刚启动服务器打开denglu.jsp,图片上的值为1234,那么se

jsp页面获取系统时间写入后台数据库

问题描述 jsp页面获取系统时间写入后台数据库 我使用的是ssh框架,在user表中有个user_registertime是Date类型,想从jsp中获取系统时间写入到user中作为user_registertime,求教各位大神该怎么处理? 解决方案 为什么要从jsp获取时间,直接在sql中调用date函数就可以得到时间了. 解决方案二: 如果你用的是mysql 直接写 now() 就把当前时间加入数据库了 解决方案三: <%=new SimpleDateFormat(""yy

java-Java jsp页面获取文本框的改变

问题描述 Java jsp页面获取文本框的改变 通过点击树来改变文本框的值,用onChange捕获不到,用onpropertychange只适用于IE浏览器,怎么办? 解决方案 defineSetter重新定义下value属性 标准浏览器下oninput如何响应javascript动态设置值 解决方案二: onBlur可以,以前遇到过同样的问题,是焦点失去时触发

jsp页面九大内置对象

资源转载自网上,不可用于商用,学习可以.内置对象又叫隐式对象/隐含对象是由WEB容器加载的一组类的实例,不需要预先声明就可以在脚本代码和表达式中随意使用的对象. 这九大隐式对象可以按照期作用分类为: 输入输出:request,response,out 作用域之间通信:session,application,pageContext,(request) Servlet对象:page,config 错误对象:Execpiton   4+2+3 四大作用域(1)-->Application,也就是ser