ポートレット用のSpringMVCを使用していますが、問題が見つかりました。
オブジェクトリストをアクションフェーズからレンダリングフェーズに渡す必要があります。私は次のようなsetRenderParameterを使用しようとしました:
actionresponse.setRenderParameter(String string, String[] strings);
actionresponse.setRenderParameter("myList",myList.toString());
ここに2つの方法があります:
@RequestMapping(params = ACTION_MYACTION)
public final void doAction(MyBean search, Errors errors, ActionRequest actionrequest, ActionResponse actionresponse) {
String processName = UtilLog.getProcessName(CLASS_NAME, "doAction");
successMessage.clear();
justlist = null;
validateBean(consulta, errors);
if (!errors.hasErrors()) {
try {
mylist = myBpelImpl.getList(search);
actionresponse.setRenderParameter("myList",myList.toString());
} catch (Exception ex) {
LOG.error(processName, ex);
processError(actionrequest, null, ex);
}
}
informSuccessMessage(actionrequest, errors, status);
}
@RequestMapping(params = ACTION_MYACTION)
public final String doRender(@ModelAttribute(value = "myBean") MyBean search, Errors errors, RenderRequest renderrequest) {
List<otherBean> mylist = renderrequest.getParameter("myList");
renderrequest.setAttribute(ServletContextKeys.SC_JUSTIFICANTE_LIST, myList);
return ServletContextKeys.SC_CONSULTA_JUSTIFICANTES;
}
ただし、レンダリングフェーズでは、文字列をオブジェクトリストに変換できないため、これは機能しません。どうすればこれを行うことができますか..?
最初は、クラスレベルでプライベートリストマイリストを使用していましたが、私が知る限り、コントローラーはシングルトンパターンであるため、このアプローチを使用することはできません。