ログインビューから別のビューに移動しようとしています...このプロセスは、私が書いた認証方法を介しています。ログインビューから別のビューに移動できますが、ウィンドウを更新すると、アクセスしたいビューがないことを示す醜い例外が発生します。私はすでに2つのUIを持つようにしました。1 つはログイン用、もう 1 つは他のすべてのためです。最初の 1 つは、メソッドを介して他の UI を設定したかったのsetContent()
ですが、さらに醜い例外が発生しました。その後、それが禁止されているか、そのようなものであることがわかったので、もう一度試してみましたビューとナビゲーターが失敗しました。手伝っていただけませんか?ナビゲーターを設定する私のUIからのコードは..
navigator = new Navigator(this, this);
navigator.addView("",new LoginView());
私が呼び出す認証方法では:
getUI().getNavigator().addView("kniznica", new LoggedInView());
getUI().getNavigator().navigateTo("kniznica");
新しいビューを UI に追加し、そこに移動します。
「kniznica」と呼ばれるビューを更新した後の例外:
java.lang.IllegalArgumentException: Trying to navigate to an unknown state 'kniznica' and an error view provider not present
at com.vaadin.navigator.Navigator.navigateTo(Navigator.java:525)
at com.vaadin.ui.UI.doInit(UI.java:534)
at com.vaadin.server.AbstractCommunicationManager.getBrowserDetailsUI(AbstractCommunicationManager.java:2468)
at com.vaadin.server.AbstractCommunicationManager.handleBrowserDetailsRequest(AbstractCommunicationManager.java:2362)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:325)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:201)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)