コントローラを古い継承フレームワークから新しいアノテーションに変換しようとしています。Spring MVCアノテーションには常にレスポンスオブジェクトが必要です
ここでは、既存のコントローラです:
public class SelectedTabController extends AbstractController {
private TabSelectionHelper tabSelectionHelper;
public ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
String param = request.getParameter("selectedTab");
if (param != null)
tabSelectionHelper.setSelectedTabTo(param);
return null;
}
public void setTabSelectionHelper(TabSelectionHelper tabSelectionHelper) {
this.tabSelectionHelper = tabSelectionHelper;
}
変換後、私はこれを持っている:
@Controller
public class SelectedTabController {
private TabSelectionHelper tabSelectionHelper;
@Autowired
public SelectedTabController(@Qualifier(value = "tabSelectionHelper") TabSelectionHelper tabSelectionHelper) {
this.tabSelectionHelper = tabSelectionHelper;
}
@RequestMapping("/selectedTab")
public void selectTab(String selectedTab, HttpServletResponse response) throws Exception {
//String param = request.getParameter("selectedTab");
if (selectedTab != null)
tabSelectionHelper.setSelectedTabTo(selectedTab);
}
}
これは動作しますが、(冗長)のHttpServletResponseオブジェクトがselectTabのPARAMTERリストにあります。私はそれを削除すると、JQueryの呼び出しは、サーバーが500を返し、呼び出しが失敗すると言います。
助けが必要ですか?
スタックトレースを示しています
javax.servlet.ServletException: Could not resolve view with name 'selectedTab' in servlet with name 'prodman'
だから、表示し、障害を見つけようとしています。しかし、JQueryによるバックエンド呼び出しとして表示するビューはありません。
私はレスポンスオブジェクトを宣言することによって、Springはレスポンスを記述すると思います。
Springでビューを解決できないようにするにはどうすればよいですか?
HttpServletResponseは必要ありません。スタックトレースは何ですか? –
スタックトレースを追加してください。あなたのフォームは何に縛られていますか? – blong824