• 欢迎访问本网站,技术教程,资源分享,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入东蓬莱!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏东部蓬莱吧

Spring表单标签

前端开发 Jokul 1年前 (2020-05-18) 93次浏览 0个评论 扫描二维码

在springmvc项目开发时,一般使用EL表达式和JSTL标签来完成页面视图,其实spring也有自己的一套表单标签库,通过spring表单标签,可以很容易的将模型数据中的表单/命令对象绑定到html表单元素中。在使用spring表单标签之前,必须在jsp页面中添加一行引用spring标签库的声明,引入标签声明后就可以使用spring表单标签了。代码如下

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

<fm:form method="post" modelAttribute="user">
    用户编码:<fm:input path="userCode"/><br/>
    用户名称:<fm:input path="userName"/><br/>
    用户密码:<fm:password path="password"/><br/>
    用户生日:<fm:input path="birthday" Class="Wdate" readonly="readonly" onclick="WdatePicker();"/><br/>
    用户地址:<fm:input path="address"/><br/>
    联系电话:<fm:input path="phone"/><br/>
    用户角色:
    <fm:radiobutton path="userRole" value="1"/>系统管理员
    <fm:radiobutton path="userRole" value="2"/>经理
    <fm:radiobutton path="userRole" value="3"/>普通用户
    <br/>
    <input type="submit" value="保存"/>
</fm:form>

在上述代码中的<fm:form>标签的modelAttribute属性用来指定绑定的模型属性,若该属性不指定,默认从模型中尝试获取名为”command”的表单对象,若不存在此表单对象,将会报错,所以一般情况下,都会指定modelAttribute。还有<fm:input/>、<fm:password/>、<fm:radiobutton/>等标签,基本上这些标签都拥有以下属性:

  • path:属性路径,表示表单对象属性,如userName、userCode等

spring的常用表单标签

<fm:form/>        渲染表单元素

<fm:input/>        输入框组件标签

<fm:password/>      密码框组件标签    

<fm:hidden/>        隐藏框组件标签 

<fm:textarea/>        多行输入框组件标签

<fm:radiobutton/>     单选按钮组件标签 

<fm:checkbox/>      复选框组件标签

<fm:select/>         下拉列表组件标签

<fm:errors/>        显示表单数据校验所对应的错误信息

我们还发现form并没有指定action属性,这是因为通常我们通过get请求访问含有表单的页面,通过post请求提交表单页面,那么最简单的做法就是:获取表单页面和提交表单页面的url地址是相同的,通过判断method是get还是post,就可以确定需要进入到哪个控制器的处理方法进行请求的处理,所以<fm:form>标签无需通过action属性指定表单提交的目标url。换句话说,当不指定目标url时,会自动提交到获取表单页面的url(如/user/add.html),如下

@RequestMapping(value = "/add.html", method = RequestMethod.GET)
public String add(@ModelAttribute("user") User user){
    return "user/useradd";
}

@RequestMapping(value = "add.html", method = RequestMethod.POST)
public String addSave(User user, HttpSession session){
    user.setCreatedBy(((User)session.getAttribute("userSession")).getId());
    user.setCreationDate(new Date());
    if (userService.add(user)){
        return "redirect:/user/userlist.html";
    }
    return "user/useradd";
}

东部蓬莱 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Spring表单标签
喜欢 (0)
[支付宝]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址