在用springMVC <form:form>表单时,喜欢报的错误如下所示:

错误的Controller层的代码如下:

 @RequestMapping(value = "test.do",method = RequestMethod.POST)
public String test(Student stu,Model model){
stu = new Student();
stu.setAge(16);
stu.setName("zyh");
stu.setId(39);
// model.addAttribute("stu",stu);
return "springform";

其中BindingResult---对应于@ModelAttribute("什么什么")---->对应本例而言你应该修改为:@ModelAttribute("stu")这个stu是<form:form modelAttribute=''stu''>中的stu.

r plain target object for bean name 'stu' available as request attribute对应于:model.addAttribute("stu",实体对象);
破解错误的只要两者有一个就可以了,两者都有也是可以的。 正确的Controller的代码形式一如下加上model.addAttribute("stu",实体对象):
 @RequestMapping(value = "test.do",method = RequestMethod.POST)
public String test(Student stu,Model model){
stu = new Student();
stu.setAge(16);
stu.setName("zyh");
stu.setId(39);
model.addAttribute("stu",stu);
return "springform";
}
正确的Controller的代码形式二如下加上@ModelAttribute("stu")
 @RequestMapping( value = "test.do",method = RequestMethod.POST)
public String test(@ModelAttribute("stu") Student stu,Model model){
stu = new Student();
stu.setAge(16);
stu.setName("zyh");
stu.setId(39);
return "springform";
}

正确的Controller的代码形式三如下:即加上model.addAttribute("stu"),也加上@ModelAttribute("stu")

代码如下:

 @RequestMapping( value = "test.do",method = RequestMethod.POST)
public String test(@ModelAttribute("stu") Student stu,Model model){
stu = new Student();
stu.setAge(16);
stu.setName("zyh");
stu.setId(39);
model.addAttribute("stu",stu);
return "springform";
}

其中跳到springform.jsp的代码如下:

 <%--
Created by IntelliJ IDEA.
User: qinlinsen
Date: 2017-07-18
Time: 17:12
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%--使EL表达式生效的语句--%>
<%@ page isELIgnored="false" %>
<html>
<head>
<title>spring form</title>
</head>
<body>
<form:form action="/webtest/query.do" method="post" modelAttribute="stu">
<table>
<tr>
<td>
Name
</td>
<td>
<form:input path="name"/>
</td>
</tr>
<tr>
<td>
age
</td>
<td>
<form:input path="age"/>
</td>
</tr>
<tr>
<td>
id
</td>
<td>
<form:input path="id"/>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="submit">
</td>
</tr> </table>
</form:form>
hello spring form.
</body>
</html>

Student类的代码如下:

 package com.supwisdom.domain;

 /**
* Created by qinlinsen on 2017-07-18.
*/
public class Student {
private String name;//学生姓名
private Integer age;//学生年龄
private Integer id;//学生省份证号 public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
}
}

springMvc <form:form>标签 <form:input>标签需要注意的问题的更多相关文章

  1. [oldboy-django][2深入django]学生管理(Form)-- 编辑(设置input标签属性,设置input标签默认显示值,设置input的类型)

    1 django 后台实现设置input标签属性,设置input标签默认显示值,设置input输入框类型 # Form生成html标签 a. 通过Form生成Input输入框,Form标签,以及sub ...

  2. 阻止form元素内的input标签回车提交表单

    <form></form>标签内input元素回车会默认提交表单. 阻止回车默认提交表单: $('form').on('keydown', function (event) { ...

  3. 常用6种type的form表单的input标签分析及示例

    <input> 标签用于搜集用户信息. 根据不同的 type 属性值,输入字段拥有很多种形式.输入字段可以是文本字段.复选框.掩码后的文本控件.单选按钮.按钮等等. 在这里博主介绍6中ty ...

  4. 表单相关标签之input标签

    用于搜集用户信息. <input type="text" name="fname" /> 标签属性 type 规定 input 元素的类型.输入字段 ...

  5. BUTTON标签和INPUT标签的区别【转】

    一句话概括主题:<button>具有<input type="button" ... >相同的作用但是在可操控性方面更加强大. HTML 4.01规范的Fo ...

  6. 在写移动端时,a标签或者input标签等 在手机上点击背后会有阴影的解决办法

    a,input{-webkit-tap-highlight-color:rgba(255,0,0,0);} 被背景设置成透明的就行了

  7. 使用textarea标签代替input标签可以实现输入框的大小调节,自动换行,滚动条显示

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 前端与后台可能需要使用交互的表单form,input标签

    前端与后台可能需要使用交互的表单标签 form表单和input标签 textarea文本域表单 select,option下拉列表表单 fieldset和legend组合表单 label标签 form ...

  9. 前端表单标签form 及 简单应用

    今日内容 form 表单(重点) 后端框架之 flask 简介 内容详细 form 表单 1.作用 form 表单可以在前端获取用户输入的数据并发送给后端(服务端) 2.input 标签 获取用户数据 ...

  10. HTML(七)HTML 表单(form元素介绍,input元素的常用type类型,input元素的常用属性)

    前言 表单是网页与用户的交互工具,由一个<form>元素作为容器构成,封装其他任何数量的表单控件,还有其他任何<body>元素里可用的标签 表单能够包含<input> ...

随机推荐

  1. POJ 1180 斜率优化DP(单调队列)

    Batch Scheduling Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4347   Accepted: 1992 ...

  2. C# 打开帮助文档,打开电脑中其他应用或者文件

    打开帮助文档 System.Diagnostics.Process.Start(Directory.GetCurrentDirectory() + "\\" + "hel ...

  3. 2037: [Sdoi2008]Sue的小球

    2037: [Sdoi2008]Sue的小球 链接 题解 论文 代码 #include<cstdio> #include<algorithm> #include<cstr ...

  4. 如何让button保持点击状态

    http://blog.csdn.net/u010957508/article/details/38385207 他的原理就是在代码里面: view.setSelected(true); 而其他的: ...

  5. Trident学习笔记(二)

    aggregator ------------------ 聚合动作:聚合操作可以是基于batch.stream.partiton [聚合方式-分区聚合] partitionAggregate 分区聚 ...

  6. 远程 RADIUS 服务器组

    远程 RADIUS 服务器组 远程 RADIUS 服务器组是包含一个或多个 RADIUS 服务器的已命名的组.IAS 用作 RADIUS 请求消息的 RADIUS 代理时,必须指定远程 RADIUS ...

  7. 常用doc 命令

    开始-->运行 regedit 进入注册表补充些: 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 4 ...

  8. USACO Section2.3 Longest Prefix 解题报告 【icedream61】

    prefix解题报告------------------------------------------------------------------------------------------ ...

  9. 三 APPIUM GUI讲解(Windows版)

    本文本转自:http://www.cnblogs.com/sundalian/p/5629386.html APPIUM GUI讲解(Windows版)   Windows版本的APPIUM GUI有 ...

  10. react生命周期方法

    Mounting阶段,当一个组件的实例被创建并插入到DOM中时,下面这些函数会被调用: constructor() componentWillMount:组件即将被渲染到页面上,render之前最后一 ...