1

jsp を適切にレンダリングする際に問題が発生しています。選択タグのパスが原因のようですが、追跡できません。

次のエラーが表示されます: エラー 500: java.lang.IllegalStateException: BindingResult も、Bean 名 'command' のプレーン ターゲット オブジェクトも要求属性として使用できません

そして私のコードは次のとおりです。

コントローラー.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;
4

2 に答える 2

3

あなたには2つのことが欠けています。

  • バッキング Bean は、ある時点で ModelMap に実際に追加する必要があるため、map.addAttribute("analyticFormBean", new AnalyticFormBean())(または追加したい初期値などを使用して) が必要です。

  • フォームタグにバッキングオブジェクトの名前を伝える必要があります<form:form commandName="analyticFormBean" etc>

于 2013-02-28T23:20:09.313 に答える
0

フォームでBeanを使用しているとは思いません...フォームに追加する必要があります。

<form:form commandName="analyticFormBean" .......>
于 2013-03-01T03:03:04.467 に答える