Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SpringWeb中的标准html代码,通过formBackingObject方法预填充表单字段_Spring_Spring Mvc_Spring Webflow - Fatal编程技术网

使用SpringWeb中的标准html代码,通过formBackingObject方法预填充表单字段

使用SpringWeb中的标准html代码,通过formBackingObject方法预填充表单字段,spring,spring-mvc,spring-webflow,Spring,Spring Mvc,Spring Webflow,我只是想通过formBackingObject在用户表单中预先填充表单字段。 我使用简单的html代码而不是spring标记来创建字段 实际上,我已经尝试使用spring标记,但输入字段的spring标记不起作用,所以我改为使用简单的html代码,但spring标记适用于,但不适用于 我会检查taglib导入段,但它很好,我不知道 正在工作,那么为什么不工作 我之所以这样描述,是因为StackOverflow的某个地方和某个人说,为了获得formBackingObject的好处,我将使用spri

我只是想通过formBackingObject在用户表单中预先填充表单字段。 我使用简单的html代码而不是spring标记来创建字段

实际上,我已经尝试使用spring标记,但输入字段的spring标记不起作用,所以我改为使用简单的html代码,但spring标记适用于
,但不适用于

我会检查taglib导入段,但它很好,我不知道
正在工作,那么为什么
不工作

我之所以这样描述,是因为StackOverflow的某个地方和某个人说,为了获得formBackingObject的好处,我将使用spring标记作为输入字段,但在我的情况下,它不起作用

这里我考虑的formBackingObject仅用于预填充表单字段,这正是我的问题标题所建议的。无论如何,我很快就会做的。 我已经通过大约30-40页的链接找到了这个解决方案,但是

我需要一个非常简单的例子,其中jsp字段获取通过formBackingObject返回的对象值

我不熟悉注释

这是我尝试过的失败的例子

联系_form.jsp

spring-servlet.xml



提前感谢

假设您在confog xml文件中指定了处理程序映射: 确保您在类似的行上有jsp,如下所示:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
    <html>
    <head>
    <title>Sample Page</title>
    </head>
    <body>
    <form:form commandName="contact" method="POST">
            <table>
                  <tr >
                    <td>Name:<form:input path="name"/></td>
                 </tr> 
                 <tr >
                    <td>Address:<form:input path="address"/></td>
                 </tr> 
                 <tr>
                    <td colspan="3"><input type="submit"/></td>
                </tr>
            </table>
    </form:form>
    </body>
    </html> 

我使用了您为jsp文件编写的内容,但它不起作用,它引发了一个异常“java.lang.IllegalStateException”。而且没有初始化联系人表单的问题。你能发布完整的异常stacktrace吗。它太大了,无法发布,但我正在发布它的一些部分。[处理第28行的JSP page/pages/contact_form.JSP时发生异常25:26:27:28:Name:29:30:31:Address:Stacktrace:]带根本原因java.lang.IllegalStateException:bean名称“contact”的BindingResult或普通目标对象都不能作为请求属性使用请参见我的编辑到HandlerRequestInternal方法:返回新的ModelAndView(“contact_form”,“contact”,contact);这并不能解决我的问题,它会返回到填充对象所在的同一页。在执行任何事件或渲染到另一页之前,我希望在初始页填充字段。
public class EditController extends SimpleFormController {

private static Contact cont = new Contact();
static {
    cont.setAddress("aaa");
    cont.setName("bbb");
}
@Override
protected void doSubmitAction(Object command) throws Exception {
    System.out.println("In do submit method");
}


@Override
protected Object formBackingObject(HttpServletRequest request)
        throws Exception {
    System.out.println("In FormBackingObject");
    return cont;
}
<bean id="/edit.htm" class="tryPack7.EditController">
    <property name="CommandClass" value="tryPack7.Contact" />
    <property name="commandName" value="contact" />
    <property name="formView" value="contact_form" />
    <property name="successView" value="success" />
</bean>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
    <html>
    <head>
    <title>Sample Page</title>
    </head>
    <body>
    <form:form commandName="contact" method="POST">
            <table>
                  <tr >
                    <td>Name:<form:input path="name"/></td>
                 </tr> 
                 <tr >
                    <td>Address:<form:input path="address"/></td>
                 </tr> 
                 <tr>
                    <td colspan="3"><input type="submit"/></td>
                </tr>
            </table>
    </form:form>
    </body>
    </html> 
    public class EditController extends SimpleFormController { 
        public ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)            
        throws ServletException, IOException 
        {        
            Contact contact=(Contact)formBackingObject(request);
            return new ModelAndView("contact_form","contact",contact);    
        }

        public Object formBackingObject(HttpServletRequest req)
        {   
            Contact contact = new Contact();
            contact.setAddress("aaa");
            contact.setName("bbb");
            return contact;
        }
    }