SpringMVC表单标签库的一些坑

首先先上一段用SpringMVC提供的标签库来写的表单代码
<form:form action="add" >
    <!--path就是原来inout的name项
        path:
             01、当做原生name项;
             02、自动回显隐含模型中某个对象对应的这个属性的值
    -->
    Id:<form:input value="<%=Id%>" path="Id"/><br/>
    Region:<form:input path="region"/><br/>
    Have:<form:input path="have"/><br/>
    Value:<form:input path="value"/><br/>
    <input type="submit" value="提交"/><br/>
</form:form>
可如果贸然模仿,则可能就掉入了两个最容易进入的坑中了

首先,Jsp页面是需要添加标签库的
在代码头加上如下一段,才可使用标签库

<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
prifix一般取名为form,当然也可随你心意取别的,但要记住标签中名字的修改

而第二个坑就是,经常会出现一个错误

Neither BindingResult nor plain target object for bean name ‘command’ available as request attribute

这是什么意思?其实翻译来就是"BindingResult和Bean name’command’的普通目标对象都不可用作请求属性",其实意思就是没有找到对象请求绑定类。
这样就很清楚了,我们最起码需要一个名为“command”的类在请求域中

对于这个坑我们有三个办法解决它
第一种:

同样在Jsp代码头加上代码

<jsp:useBean id="command" class="com.why.bean.User" scope="request"></jsp:useBean>
第二种:

使用 <form:form action="add" modelAttribute="command">
加上@RequestMapping方法中 model.addAttribute("command,new User());

第三种:

使用 <form:form action="add" modelAttribute="command">
加上public String 方法名(@ModelAttribute("command") User user);

这样就很不会在出现上述的错误了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值