PrimeFaces LazyDataModel java.lang.ArithmeticException: / от нуля - PullRequest
0 голосов
/ 01 ноября 2019

Следуя рекомендациям на этой веб-странице: https://www.beyondjava.net/blog/integrate-jsf-2-spring-3-nicely

Я пишу некоторый код для интеграции Primeface и Spring, но во время выполнения кода выдается исключение:

java.lang. ArithmeticException: / по нулям в org.primefaces.model.LazyDataModelIterator.hasNext (LazyDataModelIterator.java:68) в org.primefaces.model.IterableDataModel.setWrappedData (IterableDataModel.javaData.odeDode.IdeIface.Ie. .java: 45) по адресу org.primefaces.component.api.UIData.getDataModel (UIData.java:812) по адресу org.primefaces.component.api.UIData.setRowModel (UIData.java:587) по адресу org.primefaces.component. api.UIData.setRowIndexWithoutRowStatePreserved (UIData.java:580) в org.primefaces.component.api.UIData.setRowIndex (UIData.java:640) в javax.faces.component.UIData.encodeEnd (UIData.javax:29).faces.component.UIComponentBase.encodeAll (UIComponentBase.java:555) в javax.faces.component.UIComponentBase.encodeAll (UIComponentBase.java:551) в javax.faces.component.UIComponentBase.encodeAll (UIComponentBase.java:551) в org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView (FaceletViewDeclarationLanguage.java:1897) в org.apache.myfaces.application.ViewHandlerImp (). 315) в org.apache.myfaces.lifecycle.RenderResponseExecutor.execute (RenderResponseExecutor.java:117) в org.apache.myfaces.lifecycle.LifecycleImpl.render (LifecycleImpl.java:266) в javax.faces.webapp.letsererer(FacesServlet.java:206) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:231) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterCapin) .jpg. tomcat.websocket. Java: 166) на com.hsnn.medstgmini.filter.AuthFilter.doFilter (AuthFilter.java:79) в org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate (DelegatingFilterProxy.java:344) в org.springframework.web.filter.DelegatingFilterProxy.jFilterProxy.jjFilter.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) в орг.фильтре.java: 85) в org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterCha3.ina.cat: org.ina.cat: org. core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) по адресу org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:198) по адресу org.apache.catalina.core.StandardContevevevevetevetevetekete96)в org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:493) в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:140) в org.apache.catalina.vokeEErrorReportValve.java:81) в org.apache.catalina.valves.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:650) в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.cat.java:87).connector.CoyoteAdapter.service (CoyoteAdapter.java:342) в org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:800) в org.apache.coyote.AbstractProcessorLight.proight (AbstractProcessL). org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:806)в org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1498) в org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) в java.util.concurrent.ThreadPoolExecutor. : 61) at java.lang.Thread.run (Thread.java:748)

Я попытался добавить следующий код в StdHospitalManagerImpl.java

public int getPageSize() {
    return 10;
}

, теперь он вызывает другое исключение:java.lang.UnsupportedOperationException: отложенная загрузка не реализована. по адресу org.primefaces.model.LazyDataModel.load (LazyDataModel.java:137) по адресу org.primefaces.model.LazyDataModelIterator.hasNext (LazyDataModelIterator.java:77) по адресу org.primefaces.model.lataDataDataDataDataDataDataRableDataRableDataRableDataDataRableDataRableDataRableDataRableDataRableDataRableDataRableDataRableDataRable.DataRab) в org.primefaces.model.IterableDataModel. (IterableDataModel.java:45) в org.primefaces.component.api.UIData.getDataModel (UIData.java:812) в org.primefaces.component.api.UIData.setRowModel (UID). .java: 587) по адресу org.primefaces.component.api.UIData.setRowIndexWithoutRowStatePreserved (UIData.java:580) по адресу org.primefaces.component.api.UIData.setRowIndex (UIData.java:640)

public class GenericJsfBean implements Serializable {

    @PostConstruct
    public void init() {
        ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
        ServletContext servletContext = (ServletContext) externalContext.getContext();
        WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext)
                                  .getAutowireCapableBeanFactory()
                                  .autowireBean(this);
    }

    private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
        ois.defaultReadObject();
        init();
    }
}
1013 *
@Service("stdHospitalManager")
public class StdHospitalManagerImpl extends LazyDataModel<StdHospital> implements StdHospitalManager {

    private static final Logger log = Logger.getLogger(StdHospitalManagerImpl.class);

    @Autowired
    private StdHospitalDao stdHospitalDao;

    public static List<StdHospital> stdHospitalList = new ArrayList<StdHospital>();

    @Override
    public List<StdHospital> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
        ...
    }
}
  1. Я думаю, что с моим кодом что-то не так, можете подсказать, как его исправить?

  2. После исправления страницыразмер до 10, почему он выбрасывает java.lang.UnsupportedOperationException: отложенная загрузка не реализована? функция загрузки уже реализована.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...