spring mvc 的表单标签库

1.Student实体类

package com.southwind.POJO;

import lombok.Data;

@Data
public class Student {
private Integer id;
private String name;
private Integer age;
private String gender;
}

2.Handler

package com.southwind.controller;

import com.southwind.POJO.Student;
import com.sun.org.apache.xpath.internal.operations.Mod;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; @RequestMapping("/student")
public class StudenController {
@GetMapping("/get")
public String get(Model model){
Student student =new Student();
student.setId(1);
student.setAge(18);
student.setName("张三");
student.setGender("男");
model.addAttribute("student",student);
return "student";
}
}

3.JSP

<%--
Created by IntelliJ IDEA.
User: 郝泾钊
Date: 2022-04-07
Time: 20:53
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false"%>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>学生编号</h1>
<form action="" method="post">
学生编号:<input type="text" value="${student.id}" readonly><br>
学生姓名:<input type="text" value="${student.name}"><br>
学生年龄;<input type="text" value="${student.age}"><br>
学生性别:<input type="text" value="${student.gender}"><br>
<input type="submit" value="提交">
</form>
</body>
</html>

表单标签库的使用

1.JSP页面表单标签库的导入

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>

2.将form表单的业务数据进行绑定,通过modelAttribute属性完成绑定,将modelAttribute的值设置位控制器象model对象存值是的name即可。

<%--@elvariable id="student" type="com.southwind.POJO.Student"--%>
<form:form modelAttribute="student" action="/student/update" method="post">
学生编号:<form:input path="id"></form:input><br>
学生姓名:<form:input path="name"></form:input><br>
学生年龄;<form:input path="age"></form:input><br>
学生性别:<form:input path="gender"></form:input><br>
<input type="submit" value="提交">
</form:form>

常用标签的使用

1.from:

<form:form  modelAttribute="student" action="/student/update" method="post">
</form:form>

渲染的是HTML的from标签,通过modelAttribute属性绑定业务数据。

2.input:

<form:input path="name"></form:input><br>

渲染的是HTML的input标签,type="text" 绑定的是业务数据中的属性值,与path的业务属性值一样。支持级联

3.password:

<form:password path="age"></form:password><br>

渲染的是HTML的password标签,type="text" 绑定的是业务数据中的属性值,与path的业务属性值一样。但是不会在页面现实

4.checkbox:

<form:checkbox path="hobby" value="读书">

</form:checkbox>

渲染的是HTML的checkbox标签,type="text" 绑定的是业务数据中的属性值,与path的业务属性值一样。

有Boolean,数组,集合

  • boolean 为true选中 false为不选中。

    student.setFlag(true)
    
    check:<form:checkbox path="flag" value="读书">
    
    </form:checkbox>
  • 数组,集合如果和集合中的元素和checkbox相同就选中

5.checkboxs:

<form:checkboxes path="name" items="${student.hobby}"></form:checkboxes>

渲染的是一组checkbox标签

item绑定别遍历的数组,path表述选中的数组

student.setHobby(Array.asList("读书","鞋子"))

path可以直接写属性名,item则要通过EL表达式从作用域对象中取值,不能直接写属性名。

6.radiobuttion

<form:radiobutton path="name" value="0"></form:radiobutton>

渲染的是一个HTML中的一个单选按钮,值相同为选中状态,值不同为不状态。

7.radiobuttion

<form:radiobuttons path="name" items="${student.name}"></form:radiobuttons>

渲染的是html中的一组单选按钮标签

item绑定别遍历的数组,path表述选中的数组

8.select

<form:select path="name" items="${student.name}"></form:select>

渲染的是html中的一组选择标签

item绑定别遍历的数组,path表述选中的数组

9.from:select结合form:optations使用

from:select只定义path form:optations写 items

10.from:select结合form:optation使用

from:select只定义path form:optation写 value

path与哪个valu相等,则默认选择

Springmvc 国际化

在不同的语言设置的浏览器自动显示不同的语言。

1.spring.mvc

<!--    国计化资源文件-->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<!-- 多语言配置文件放在根路径 以langua开头-->
<property name="basename" value="classpath:language"></property>
<property name="useCodeAsDefaultMessage" value="true"></property>
</bean>
<!-- 拦截器-->
<mvc:interceptors>
<bean id="localeChangeInterceotor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="Lang"></property>
</bean>
</mvc:interceptors>
<!-- 配置SessionResolver,动态获取local对象存入Session-->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>

2.创建国际化资源文件:

language_en_US.properties

language.cn=\u4E2D\u6587
language.en=English
info=login
userbane=username
password=password
repassword=repassword
tel=tel
email=email
submit=submit
reset=reset

language_en_US.properties

language.cn=\u4E2D\u6587
language.en=English
info=\u767B\u5F55
userbane=\u7528\u6237\u540D
password=\u5BC6\u7801
repassword=\u786E\u8BA4\u5BC6\u7801
tel=\u7535\u8BDD
email=\u7535\u5B50\u90AE\u7BB1
submit=\u63D0\u4EA4
reset=\u91CD\u7F6E

业务页面:

package com.southwind.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
@RequestMapping("/inter")
public class InterHandler {
@GetMapping("/index")
public String index(){
return "inter";
}
}

SpringMVC的表单组件、国际化的更多相关文章

  1. 微信小程序-表单组件

    button 按钮 注:button-hover 默认为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;} 示例代码: /** wxss **/ ...

  2. Vue组件之自定义表单组件

    今天又看了一遍vue的文档,记得之前学习的时候,官方文档中有提过,v-model指令是一个语法糖,做两件事,一个是给表单控件元素绑定value,第二个是当输入时更新绑定的值,不过后来在"表单 ...

  3. Form( 表单) 组件

    本节课重点了解 EasyUI 中 Form(表单)组件的使用方法, 这个组件不依赖于任何组件.一. 加载方式表单组件只能在 JS 区域设置,首先定义一张表单.<form id="box ...

  4. 实现Ant Design 自定义表单组件

    Ant Design 组件提供了Input,InputNumber,Radio,Select,uplod等表单组件,但实际开发中这是不能满足需求,同时我们希望可以继续使用Form提供的验证和提示等方法 ...

  5. springMVC(7)---表单标签

    springMVC(7)---表单标签 form标签作用                                     简单来讲form表单有两大作用 1:第一就是往后端提交数据或者前端回显 ...

  6. 「小程序JAVA实战」小程序的表单组件(25)

    转自:https://idig8.com/2018/08/18/xiaochengxujavashizhanxiaochengxudebiaodanzujian25/ 来说下 ,小程序的基础组件.源码 ...

  7. 第二百二十一节,jQuery EasyUI,Form(表单)组件

    jQuery EasyUI,Form(表单)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Form(表单)组件的使用方法,这个组件不依赖于 ...

  8. SpringMVC from 表单标签和 input 表单标签

    刚学习很懵  不知道还有springmvc 自己的表单  于是乎就上网查了一下  这个真的好用多啦 刚学习很懵  不知道还有springmvc 自己的表单  于是乎就上网查了一下  这个真的好用多啦 ...

  9. 【09】react 之 表单组件

    不太清楚有多少初学React的同学和博主当时一样,在看完React的生命周期.数据流之后觉得已经上手了,甩开文档啪啪啪的开始敲了起来.结果...居然被一个input标签给教做人了. 故事是这样的:首先 ...

  10. SpringMVC(十四):SpringMVC 与表单提交(post/put/delete的用法);form属性设置encrypt='mutilpart/form-data'时,如何正确配置web.xml才能以put方式提交表单

    SpringMVC 与表单提交(post/put/delete的用法) 为了迎合Restful风格,提供的接口可能会包含:put.delete提交方式.在springmvc中实现表单以put.dele ...

随机推荐

  1. C温故补缺(十一):文件读写

    文件读写 打开文件 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件 FILE *fopen( const char *filename, const char *mode ); fil ...

  2. 关于虚拟机使用桥接网络访问不到物理机IP的问题解决

    问题描述 物理机可以ping 到虚拟机IP,虚拟机 ping 不到物理机IP 解决方法 关闭物理机防火墙,重启虚拟机

  3. Linux 使用打印机

    前言 在 deepin 上打印机好使,在我的mint上不好使,简单的查看一下deepin上驱动及软件.安装上就行了. 软件及驱动 ii hpijs-ppds 3.18.12+dfsg0-2 all H ...

  4. linux deb系 apache 配置解析php文件

    安装apache服务器和php服务 sudo apt-get install apache2 php 然后其实一般来说什么也不用安装了就可以成功解析php文件了 制作一个测试文件,test.php放到 ...

  5. 螺旋矩阵II-LeetCode59 考验代码能力

    力扣链接:https://leetcode.cn/problems/spiral-matrix-ii/ 题目 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的  ...

  6. go-carbon 1.5.1 版本发布, 修复已知 bug 和新增土耳其翻译文件

    carbon 是一个轻量级.语义化.对开发者友好的golang时间处理库,支持链式调用. 目前已被 awesome-go 收录,如果您觉得不错,请给个star吧 github.com/golang-m ...

  7. 【Redis场景1】用户登录注册

    细节回顾: 关于cookie和session不熟悉的朋友: 建议阅读该博客:https://www.cnblogs.com/ityouknow/p/10856177.html 执行流程: 在单体模式下 ...

  8. QT+VS 调用基于Google Breakpad的跨平台Qt崩溃异常捕获调用方案

    方案一.基于Google Breakpad的跨平台Qt崩溃异常捕获调用方案 首先上博客:Windows下Qt生成dump文件并定位bug(基于qBreakpad) 这个地方使用的是一个叫qBreakP ...

  9. Qt对象跨线程出现的问题记录,以及解决方案

    Qt在跨线程开发的时候可能会出现不少问题,在这里记录一下 Qt目前用下来还是非常强大的,虽然只是用在桌面端程序开发上,但是其强大的桌面开发库真的挺好用的(Layout除外,你妈死了). Qt除了UI, ...

  10. AcWing第85场周赛

    这场周赛是手速局hh 死或生 某国正在以投票的方式决定 2 名死刑犯(编号 1∼2)的生死. 共有 n 组人员(编号 1∼n)参与投票,每组 10 人. 每组成员只参与一名死刑犯的投票,其中第 i 组 ...