form表单往控制层传参的问题

ManbaBryant 2019-06-17 11:52:47
jsp页面

<form action="${pageContext.request.contextPath }/user/register.do" method="post">
<input type="text" id="inputUserName" name="userName" placeholder="请输入用户名" ">
<button type="submit" id="register-btn" onclick="doregister()">注册</button>

控制层只能用这种方式接受到参数,可以输出表单输入的值(userName)

@RequestMapping("/user/register")
public String registerUser(@RequestParam(value="userName") String userName) throws Exception {
System.out.println(userName);
}

有这样几个问题
1、为什么用request.getParameter()方法接收不到参数,控制台输出结果为null

@RequestMapping("/user/register")
public String registerUser(HttpServletRequest request) throws Exception {
String userName=request.getParameter("UserName");
System.out.println(userName);

2、如果要接收多个参数,并且把这些参数封装到一个实体类(User类),代码该怎么写,是调用user的get方法么
...全文
339 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdjfidsnv 2019-06-20
  • 打赏
  • 举报
回复
1、为什么用request.getParameter()方法接收不到参数,是因为参数名与jsp中input的name属性中的值不一致, 应为:String userName=request.getParameter("userName"); 2、如果要接收多个参数,并且把这些参数封装到一个实体类(User类), User类应有userName属性,private String userName; get/set方法;属性名要与input的name属性中的值一致 控制层中代码应为: @RequestMapping("/user/register") public String registerUser(User user) throws Exception { System.out.println(user.getUserName()); },sprinmvc会自动将表单中的值注入对象。
LuckyWW123 2019-06-19
  • 打赏
  • 举报
回复
参数名保持一致,botton的type属性设置为sumbit 和自定义的方法是冲突的,这种情况下默认使用系统方法提交
cwmlow 2019-06-18
  • 打赏
  • 举报
回复
方法用的没错,看你的jsp 参数名和你写的是否一致
鱿鱼ing 2019-06-18
  • 打赏
  • 举报
回复
String userName=request.getParameter("userName"); 小写的 保持和html input里 的name属性一致

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧