在用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. 搭建Maven私有仓库

    Nexus官网下载:Nexus Repository Manager OSS :https://www.sonatype.com/download-oss-sonatype 1.解压 $ tar -z ...

  2. Docker虚拟化容器的使用

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...

  3. php中==和===的含义及区别

    ===比较两个变量的值和类型:==比较两个变量的值,不比较数据类型. 比如 $a = '123'; $b = 123; $a === $b为假: $a == $b为真: 有些情况下不能使用==,可以使 ...

  4. hive 学习系列一(数据类型的定义)

    数字类型(Numeric Types) 整型 TINYINT(取值范围:-128 -- 127) SMALLINT(取值范围:-32,768 to 32,767) INT/INTEGER(取值范围: ...

  5. 使用selenium模拟登录知乎

    网上流传着许多抓取知乎数据的代码,抓取它的数据有一个问题一定绕不过去,那就是模拟登录,今天我们就来聊聊知乎的模拟登录. 获取知乎内容的方法有两种,一种是使用request,想办法携带cookies等必 ...

  6. python, 面向对象编程Object Oriented Programming(OOP)

    把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数 ...

  7. 《Cracking the Coding Interview》——第13章:C和C++——题目7

    2014-04-25 20:18 题目:给定一个Node结构体,其中包含数据成员和两个Node*指针指向其他两个Node结构(还不如直接说这是个图呢).给你一个Node指针作为参数,请做一份深拷贝作为 ...

  8. 《算法》C++代码 Dijkstra

    单源最短路,复杂度是O(N²),堆优化的是O(NlogN).基本思想是贪心,每次都加入一个当前最近的点,可以证明每次当时最近的点就是当前最短的路径.因此,所有点都加入之后,起点到所有点的最短路径就都求 ...

  9. ironic images

    参考: http://blog.csdn.net/wanghuiict/article/details/52757359 ironic 整个部署流程中有两组映像,分别是 deploy 映像和 user ...

  10. 【志银】Ubuntu Apache2配置SSL证书

    1.准备工作 证书文件:zain.crt.zain.key /etc/apache2/文件夹下新建ssl 文件夹,将证书文件放入/etc/apache2/ssl 2.配置SSL证书 打开/etc/ap ...