SpringMVC----表单标签(17)

1.通过 SpringMVC 的表单标签可以实现将模型数据中的属性和 HTML 表单元素相绑定,以实现表单数据更便捷编辑和表单值

   的回显。

2.一般情况下,通过 GET 请求获取表单页面,而通过POST 请求提交表单页面,因此获取表单页面和提交表单页面的 URL 是

   相同的

3.可以通过 modelAttribute 属性指定绑定的模型属性,若没有指定该属性,则默认从 request 域对象中读取command 的表单

   bean,如果该属性值也不存在,则会发生错误。

4.SpringMVC • 提供了多个表单组件标签,如<form:input/>、<form:select/> 等,用以绑定表单字段的属性值,

   它们的共有属性如下:

5.示例

  5.1 导入标签库

  5.2 使用标签

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
 <%@  taglib  prefix="form" uri="http://www.springframework.org/tags/form"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
        <!-- 
        可以通过 modelAttribute 属性指定绑定的模型属性,若没有指定该属性,则默认从 request 域对象中读取
        command 的表单 bean,如果该属性值也不存在,则会发生错误。
         (也就是说,SpringMVC无论是不是第一次加载该页面,都需要进行页面的回显,这就需要在request域
          对象中必须存在一个对应表单字段的bean对象,如果没有指定的话,会默认的去读取command 的表单 bean
           如果也没有,则报错,这就要求,在请求该页面的时候,需要在request域对象中放入一个bean)
         -->
       <form:form action="emp"  method="POST" modelAttribute="employee">
               LastName: <form:input path="lastName"/>
               <br>
               Emali: <form:input path="email"/>
               <br>
               <%
                   Map<String,String> genders = new HashMap();
                  genders.put("1","Male");
                  genders.put("0","Female");
                  request.setAttribute("genders", genders);
               %>
               <!-- 此时不用再去写itemLabele和itemValue,会自定解析 -->
               Gender: <form:radiobuttons path="gender" items="${genders}" />
               <br>
               <!-- 直接从域对象中获取,因为在get这个页面时,departments已经放入到 域对象中-->
               Department: <form:select path="department" items="${departments}"  
                                    itemLabel="departmentName"  itemValue="id"></form:select>
                 <br>
                <input type="submit" value="Submit"> 
       </form:form>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/lsh15846393847/article/details/89944657
今日推荐