ServletActionContext.getRequest()空指针问题
我的表单内部有按钮,还有视图选择框,
当点击“视图选择框”,选择视图中一条记录后,系统会执行void cn.myapps.core.dynaform.activity.ejb.ActivityType.addButton(String innerText, String function, String className, int permissionType)
的以下代码:- HttpSession session = ServletActionContext.getRequest().getSession();
- String skinType = (String) session.getAttribute("SKINTYPE");
- if (skinType != null && !skinType.equals("") && skinType.equals("gray")) {
- htmlBuilder.append("<input icon='icon-save' type='button' ");
- htmlBuilder.append(" name='" + getButtonId() + "'");
- htmlBuilder.append(" title='" + act.getName() + "'");
- if (PermissionType.MODIFY == permissionType) {
- htmlBuilder.append(" onclick="" + function + """);
- }
- if (PermissionType.DISABLED == permissionType) {
- htmlBuilder.append(" disabled='disabled'");
- }
- htmlBuilder.append(" value='" + innerText + "'> ");
- }
复制代码 可是,调试这段代码时候,发现ServletActionContext.getRequest()是空指针了?
执行完这段代码后,报出异常:- java.lang.NullPointerException
- at cn.myapps.core.dynaform.activity.ejb.ActivityType.addButton(ActivityType.java:403)
- at cn.myapps.core.dynaform.activity.ejb.ActivityType.toButtonHtml(ActivityType.java:316)
- at cn.myapps.core.dynaform.activity.ejb.Activity.toButtonHtml(Activity.java:835)
- at cn.myapps.core.dynaform.form.ejb.ButtonField.toHtmlTxt(ButtonField.java:121)
- at cn.myapps.core.dynaform.form.ejb.FormField.getRefreshScript(FormField.java:1225)
- at cn.myapps.core.dynaform.form.ejb.TabNormal.getRefreshScript(TabNormal.java:393)
- at cn.myapps.core.dynaform.form.ejb.TabField.getRefreshScript(TabField.java:190)
- at cn.myapps.core.dynaform.form.action.FormHelper.refresh(FormHelper.java:558)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:589)
- at uk.ltd.getahead.dwr.impl.ExecuteQuery.execute(ExecuteQuery.java:239)
- at uk.ltd.getahead.dwr.impl.DefaultExecProcessor.handle(DefaultExecProcessor.java:48)
- at uk.ltd.getahead.dwr.impl.DefaultProcessor.handle(DefaultProcessor.java:81)
- at uk.ltd.getahead.dwr.AbstractDWRServlet.doPost(AbstractDWRServlet.java:162)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at cn.myapps.base.web.dwr.filter.DWRFilter.doFilter(DWRFilter.java:44)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:177)
- at cn.myapps.base.web.filter.OBPMFilterDispatcher.doFilter(OBPMFilterDispatcher.java:43)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at cn.myapps.base.web.filter.AjaxMultiLanguageFilter.doFilter(AjaxMultiLanguageFilter.java:40)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:30)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:72)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
- at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)
- at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)
- at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
- at java.lang.Thread.run(Thread.java:619)
- 23:02:03,921 WARN DefaultExecProcessor:59 - Erroring: id[4503_1303830123531] message[uk.ltd.getahead.dwr.OutboundVariable@cfd69]
复制代码 |