spring 是可以轻松处理多个表单的,我回去可以帮你查下我的笔记,我以前学习的时候用过
解决方案 »
- hibernate级联删除,异常MappingException: only inverse one-to-many associations ...
- 有谁用过db40 帮忙看看这个错误
- why?????为什么方法名,路径都对了,jsp页面确空白 MyEclipse控制台提示 methodName=null 谢谢~~~~
- 小弟先谢过大家 请大家帮我看看 分不够再加
- 求助:有关EJB的问题?(急)
- 请教:我配置好了TOMCAT,怎么现实JSP网页?
- tomcat 多久重起一次?
- 怎么理解"即使当应用服务器崩溃或停止运行,Entity Bean的状态还会保存在数据库中,不会丢失"
- 用MVC框架的项目,关于测试的问题。。。。顺带一个sql的问题。。。求帮忙,求分享
- 一个html页面的搜索框不是form表单,那么如何往controller中传值?
- 向高手求救:Unable to validate using XSD
- struts2.0 <s:select/>问题
http://opensource.atlassian.com/confluence/spring/display/COOK/Forms+-+Multiple+forms+on+the+same+page
你说的问题我遇到过, 我先查一下笔记,然后给你一个demo.
1: 在你的simpleFormController中用到的successView 和formView你不能通过jsp来访问, 要通过你配置的controller bean name 来访问, 比如你的actionA, actionB.
2: jsp中数据绑定不要按你那样, 那样会出错. 像我这样:<form method="post" action="addbook.do">
<spring:bind path="book.id">
<input type="text" name="id" value="<core:out value="${book.id}"/>"/>
</spring:bind>
<spring:bind path="book.name">
<input type="text" name="name" value="<core:out value="${book.name}"/>"/>
</spring:bind>
<spring:bind path="book.author">
<input type="text" name="author" value="<core:out value="${book.author}"/>"/>
</spring:bind>
<spring:bind path="book.price">
<input type="text" name="price" value="<core:out value="${book.price}"/>"/>
</spring:bind>
<input type="submit" value="Submit" /><br>
</form>
在simpleFormController中用到的successView 和formView中我指定的jsp,是通过
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix">
<value>/WEB-INF/jsp/ </value>
</property>
<property name="suffix">
<value>.jsp </value>
</property>
来查找的。
我不知道通过什么连接进入包含form的jsp。
对于只包含一个form的jsp来说,我只能通过actionA进入,
即使我这样定义了
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/index.html">formwardController </prop>
<prop key="/main.html">formwardController </prop>
<prop key="/jspA.html">formwardController </prop>
<prop key="/actionA.html">actionA </prop>
<prop key="/actionB.html">actionB </prop>
</props>
</property>
</bean>
<bean id="formwardController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />
也不能通过jspA.html进入。我是从spring 2.5.4开始学习的,以前版本的spring我没有看过,我了解的是<spring:bind path="book.id">
这样格式不建议使用,而是直接是
<form:form> <!--对应aciont是actionB -->
属性1: <form:input path="field1" /> <br />
属性2: <form:input path="fidld2" /> <br />
若干字段
...
...
<br />
<input type="submit" value="提交" />
<input type="reset" value="重置" />
</form:form>
这种格式。
如果<spring:bind path="book.id">这种格式能够解决问题,也好
请给发我发邮件[email protected]
或者qq联系也可以:645621848
多谢了!!!
要是这样, 那肯定会出错的. 你可以去研究一下simpleformcontroller的工作流程:
当你用get方式想进入form页面的时候, 它会调用一个formbackingObject方法构造你页面需要的form, 然后结合你的页面进行绑定, 他的这个绑定是单一的, 也就是只有一个commandName, 你不妨做一个过渡form, 他包含你需要的所有的子form, 然后在controller中配置好他们, 在你的controller中再从这个大form 中得到你想要的子form.
我家里的demo太简单了, 书上到处都是, 比较复杂的放在公司, 但是这周我休假.
最上面一个查询的form,查询出结果后,在下面列出查询结果,此查询结果也是一个form,可以对查询结果再进一步处理。
这种需求是很平常的。我不理解spring为什么不考虑这种情况。
我理解simpleformcontroller的工作流程。
你的那种方式会导致controller爆炸,
例如有3个form:form1,form2,form3,
jsp1内是form1和form2;
jsp2内是form1和form3;
jsp3内是form2和form3;
这样会导致相同的功能存在于多处。
我现在也遇到这样的问题。我想如果两个form的业务逻辑不是很一样的话,iframe解决?如果form的业务是相关联,是否可以将两个实体command到一个里面去,或者系两个实体存在继承的关系,用一个form来提交!
希望有遇到的朋友也帮帮忙提提意见!
激情期待......
顶上去
高手来呀~~~~good luck