【问题标题】:Path on spring form select not working弹簧形式选择的路径不起作用
【发布时间】:2013-02-28 22:54:11
【问题描述】:

我在让 jsp 正确呈现时遇到问题。我的选择标签上的路径似乎是罪魁祸首,但我无法追踪,不知道为什么。

我收到错误:错误 500:java.lang.IllegalStateException:Bean 名称“命令”的 BindingResult 和普通目标对象都不能用作请求属性

我的代码是:

Controller.java

@Controller 
@RequestMapping("view")
@SessionAttributes({"analyticFormBean"})
public class RolesAnalyticsController {
@RenderMapping
public String defaultRenderer(RenderRequest request, RenderResponse response, ModelMap map){
    logger.entering(SOURCE_CLASS, "defaultRenderer");
    request.setAttribute("reportList", getReportList());
    logger.exiting(SOURCE_CLASS, "defaultRenderer", VIEW_JSP);
    return VIEW_JSP;
}

View.jsp

<form:form id="reportForm" method="POST" action="${submitReportQuery}">

<form:select path="query" id="reportSelection" onchange="javascript:checkForFields()">
    <form:option value="NONE" label="--- Select ---"/>
    <form:options items="${reportList}" />
</form:select>

&nbsp;
<input type="submit" value="Submit" name="Submit" ><br>

<div class="fieldPlaceholder" id="fieldPlaceholder"></div>

Bean.java

public class AnalyticFormBean {
    private int reportID;
    private String query;
    private String queryResult;
    private String[] listOfQueries;

【问题讨论】:

  • 是整个控制器吗?您实际上需要在某个时候将 AnalyticFormBean 放入模型图中。
  • 是的。我必须这样做吗:map.addAttribute(bean); ?
  • map.addAttribute("analyticFormBean", bean) 如果你想让你的@SessionAttributes 做任何事情。
  • 我添加了以下内容,但这仍然没有帮助。 AnalyticFormBean bean = new AnalyticFormBean(); bean.setListOfQueries(new String[]{}); bean.setQuery(""); bean.setReportID(0); bean.setQueryResult(""); map.addAttribute("analyticFormBean", bean);
  • form:form 标签需要 commandName="analyticFormBean"

标签: java spring jsp spring-mvc


【解决方案1】:

你错过了两件事,

  • 必须在某个时候将支持 bean 实际添加到 ModelMap,因此您需要一个 map.addAttribute("analyticFormBean", new AnalyticFormBean())(或您想要添加的任何初始值等)

  • 你必须告诉表单标签支持对象的名称&lt;form:form commandName="analyticFormBean" etc&gt;

【讨论】:

    【解决方案2】:

    我没有看到你在表单中使用 bean...你需要将它添加到表单中。

    <form:form commandName="analyticFormBean" .......>
    

    【讨论】:

      猜你喜欢
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多