Rav*_*pta 5 java model-driven struts2 nullpointerexception actionform
我正在将一个 Struts 1 应用程序迁移到 Struts2 并尝试最小化所需的代码更改。
我需要知道如何访问ActionFormStruts2Action类中的 。下面是我当前的代码,我在尝试访问ActionForm.
Public class DeptBuildingNewAction extends ActionSupport
implements ServletRequestAware, ServletResponseAware, ModelDriven<DeptBuidingFormBean> {
private HttpServletRequest request;
private HttpServletResponse response;
private DeptBuidingFormBean form;
public void setServletRequest(HttpServletRequest httpServletRequest) {
this.request = httpServletRequest;
}
public void setServletResponse(HttpServletResponse httpServletResponse) {
log.debug("Inside setServletResponse");
this.response = httpServletResponse;
}
public DeptBuidingFormBean getModel() {
log.debug("Inside getForm");
return form;
}
public void setModel(DeptBuidingFormBean form) {
log.debug("Inside setForm");
this.form = form;
}
Run Code Online (Sandbox Code Playgroud)
到达ActionForm这里的最佳方式是什么?
表单(Struts2中的模型)应该被初始化以防止NPE。
private DeptBuidingFormBean form = new DeptBuidingFormBean();
Run Code Online (Sandbox Code Playgroud)
该ModelDriven操作允许直接从 访问视图层和操作中的模型valueStack,即不带model或form前缀。
拦截modelDriven器应该位于操作的拦截器堆栈上。默认堆栈包含此拦截器。
来自文档:
注意:
ModelDrivenInterceptor只有当模型不是 时,null才会将模型压入堆栈,否则将被忽略。
在操作类中,您有一个可以在内部使用的字段。