Следуя рекомендациям на этой веб-странице: 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) {
...
}
}
Я думаю, что с моим кодом что-то не так, можете подсказать, как его исправить?
После исправления страницыразмер до 10, почему он выбрасывает java.lang.UnsupportedOperationException: отложенная загрузка не реализована? функция загрузки уже реализована.