- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到一种情况,我需要检查 formBackingObject 中的条件,并根据条件返回两个类之一。
问题是,据我所知,我只能在servlet.xml中定义一个commandName和commandClass。有人知道我可以处理这个问题的方法吗?这似乎不是一个罕见的用例,但我还没有在网上真正找到任何解决方案。
这是我的 Controller formBackingObject 的逻辑 block :
List<FooLoadShed> fooLoadShedList = this.fooLoadShedDao.getActiveSheds();
if(fooLoadShedList.isEmpty()) {
logger.info("LoadShedActive is: " + this.sessionDetailsManager.getSessionDetails().isLoadShedActive());
return new NoAction();
}
else {
this.sessionDetailsManager.getSessionDetails().setLoadShedActive(true);
logger.info("LoadShedActive is : " + this.sessionDetailsManager.getSessionDetails().isLoadShedActive());
logger.info("Number of load sheds: " + nieLoadShedList.size());
return new ModelAndView(new RedirectView("custLookup.htm"));
}
和我的 servlet.xml 配置:
<bean name="/index.htm" class="springapp.web.indexController" scope="session">
<property name="sessionForm" value="true"/>
<property name="commandName" value="noAction"/>
<property name="commandClass" value="springapp.service.NoAction"/>
<property name="formView" value="index"/>
<property name="sessionDetailsManager" ref="sessionDetailsManager"/>
<property name="mobiConfigDao" ref="mobiConfigDao"/>
<property name="fooLoadShedDao" ref="fooLoadShed" />
</bean>
最佳答案
这是配置 Spring MVC Controller 的一种非常古老的方法!已经有10多年没有见过这样的事情了。为什么不使用更现代的 Spring MVC 配置,使用注释而不是 XML?
无论如何,命令类的重要性都在POST中。 Spring MVC 必须能够构造命令类的实例。为此,它需要知 Prop 体的类名称。然后,它将表单值应用于所创建的命令类对象的属性。这个完全填充的命令对象将在处理程序方法中交给您。
XML 中的配置用于默认命令对象创建过程。您可以覆盖此设置。在现代 Spring MVC 中,这是使用方法级别的 @ModelAttribute 注释。在古老的Spring MVC中,您需要重写创建命令对象的方法并自己创建命令对象。 BaseCommandController
有一个 protected createCommand
方法。如果这就是您创建 Controller 的方式,那么您就必须从这里开始。
关于java - Spring 3 formBackingObject可以返回不同的命令类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32764098/
在 Spring SimpleFormController 中使用业务对象作为 formBackingObjects 的设计问题。 我们的 Controller 的职责是允许最终用户向我们的 Web
我正在使用 Spring MVC 2.5。我想从 重定向到一个 url formBackingObject(HttpServletRequest request) 在 spring Controlle
我想我不明白 spring MVC 中“FormBackingObject”和“ModelAttribute”之间的区别。 似乎两者都是由 Spring 通过传入请求启动和填充的。 最佳答案 好问题。
我是一名优秀的程序员,十分优秀!