我是一个绝对的初学者。如果我错过了明显的话,请耐心等待。
我正在使用的环境:Spring Portlet MVC(3.0),Liferay 6.0.6
我有一个控制器,一个表单bean和一个JSP页面。 我可以使用下面的代码成功提交表单并获取表单bean。但是,在将bean转发到JSP之前,我仍然坚持如何将一些值预加载到我的表单bean中。有人可以指出正确的方向:
我的控制器:
@ActionMapping(params = "spring_action=resetPasswordViewAction")
protected void resetPasswordAction(ActionRequest actionRequest, Map<String, Object> model, ActionResponse actionResponse, @RequestParam String customerId, @RequestParam String userName) {
model.put("customerId", customerId);//Preload form bean value with this
model.put("userName", userName);//Preload form bean value with this
actionResponse.setRenderParameter("spring_render", "resetPasswordView");
}
@RenderMapping(params = "spring_render=resetPasswordView")
protected ModelAndView resetPasswordView(RenderRequest renderRequest, Map<String, Object> model) {
return new ModelAndView("resetPassword", model);
}
@ActionMapping(params = "spring_action=resetPasswordUpdateAction")
protected void resetPasswordUpdateAction(ActionRequest actionRequest, Map<String, Object> model, ActionResponse actionResponse, final ResetPassword resetPasswordCriteria) {
LOG.info(resetPasswordCriteria.toString());// Form values are retrieved successfully
actionResponse.setRenderParameter("spring_render", "resetPasswordView");
}
@ModelAttribute("resetPasswordCriteria")
public ResetPassword getResetPasswordCriteria() {
return new ResetPassword();
}
我的JSP页面:
<form:form id="resetPasswordForm" name="resetPasswordForm" commandName="resetPasswordCriteria" method="post" action="${resetPasswordUpdateActionURL}">
<form:label path="customerId" /><!--Preload this field value-->
<form:label path="userName" /><!--Preload this field value-->
<form:password path="password" />
<form:password path="confirmPassword" />
<input type="submit" value="Submit" />
</form:form>
Form Bean:
public class ResetPassword {
private String customerId = "";
private String userName = "";
private String password = "";
private String confirmPassword = "";
//Getters Setters
}
答案 0 :(得分:1)
在渲染方法 resetPasswordView 中,将类型为 ResetPassword 的名为 resetPasswordCriteria 的对象(您的commandName在jsp中)放置到模型中。