【笔记】使用Spring表单标签
来源:互联网 发布:清除localstorage数据 编辑:程序博客网 时间:2024/06/05 02:49
1.首先在jsp页面添加一行引用spring表单标签的声明
<!-- 引用spring标签声明 --><%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
2.下面是一个使用<form:form>表单标签的实例, 它最终将生成1个HTML的form表单
<form:form modelAttribute="user" action="saveUser.html">用户名:<form:input path="userName" /><br><div id="userNameTip" style="width: 300px"></div>密码:<form:password path="password" /><br><div id="passwordTip" style="width: 300px"></div><input type="submit" id="regBtn" value="注册" onclick="return jQuery.formValidator.pageIsValid('1');" /><input type="reset" value="重置" /></form:form>
其实此时spring form标签只是帮我们简化了书写input id 和 name
客户看到的jsp页面, 通过F12查看元素, 则能看到真面目
<form id="user" action="saveUser.html" method="post">用户名:<input id="userName" name="userName" type="text" value=""><br><div id="userNameTip" style="width: 300px"></div>密码:<input id="password" name="password" type="password" value=""><br><div id="passwordTip" style="width: 300px"></div><input type="submit" id="regBtn" value="注册" onclick="return jQuery.formValidator.pageIsValid('1');"><input type="reset" value="重置"></form>这个就是比较熟悉的表单格式了, 所以form标签只是做了一个翻译
3.Java后台Controller部分
@RequestMapping("/reg.html")public ModelAndView reg(HttpServletRequest request,User user) throws Exception {request.setAttribute("user", user);
return new ModelAndView("reg");}注意: 此处必须有user对象存入request带回到reg.jsp页面, 否则会报500异常. 原因是在request中找不到名字是user的对象. 因为modelAttribute数据模型,指定了"user",
这里处理的user对象, 会被带到页面的表单中反显出来, 根据的是path属性, 对应的是user domain的属性, 如果path指定了user没有的属性, 也会报找不到user的某个属性错误.
其实和El表达式反显数据的道理一样, 也可以集联, 例如: 员工所属部门: <form:input path="dept.deptName"> 则取user domain中的dept属性的deptName的值
4.验证部分结合了formvalidtor, 用法和普通form是一样的
详见: formvalidtor使用总结
5.Spring表单的更多标签
更多内容的应用实例, 我转的一篇文章:
我补充的:
表单模型是实体类goods, 其中goods中有goodsType属性 而goodsType是一个对象, 这里select的用法
<form:form modelAttribute="goods" action="goods/saveGoods.html" method="post">
goodsItems是后台返回的List<GoodsType> 这样的一个集合 后台代码: request.setAttribute("goodsItems", list);
<form:select path="goodsType.goodsTypeId" class="form-control"> <form:options items="${goodsItems}" itemLabel="typeName" itemValue="goodsTypeId"/></form:select>这样写, 传到后台, 就会把goodsTypeId赋值到goods对象的goodsType的goodsTypeId属性上, 但是如果还想传typeName的值到后台, 我的想法是写js方法实现, 不知道有没有更好的方法实现
0 0
- 【笔记】使用Spring表单标签
- spring表单标签学习笔记
- 使用Spring MVC表单标签
- 使用Spring MVC表单标签
- 使用Spring MVC表单标签
- 使用Spring MVC表单标签
- 使用Spring MVC表单标签一
- 使用Spring MVC表单标签二
- 使用Spring的表单标签库
- 使用spring的表单标签库
- 使用Spring的表单标签库
- spring mvc系列文章 - 使用Spring MVC表单标签
- spring mvc 表单标签
- Spring 表单标签
- Spring MVC表单标签
- Spring MVC表单标签
- spring mvc 表单标签
- spring表单标签
- svg中path标签的用法
- 辨析离线算法与在线算法
- Mac 下 制作USB Clover引导
- LeetCode 258. Add Digits
- 如何在只听过一次的情况下用百度找到歌名
- 【笔记】使用Spring表单标签
- Android从零开搞系列:自定义View(12)贝塞尔曲线的应用
- 实用的4~20mA输入/0~5V输出的I/V转换电路
- 函数的数据传递
- 科锐课堂笔记:2017/4/21 多重继承与智能指针
- 随机梯度下降算法
- Servlet url-pattern /与/*区别,*.action以及SpringMVC中/*解析出错过程分析
- docker_practice从入门到实践总结
- 第五章 5-11 绘图模式