これらの問題に直面w.r.t Vaadin UIとURLマッピング。Vaadin URLマッピングの問題:サブパスURLマッピングと自動URLマッピングが機能しない
Problem1:
私は私のエンティティのための基本的なCRUD操作にVaadinを使用しようとしています。まず、/ subpath/xyz urlにUIクラスを公開したいと思います。しかし、サブパスのURLマッピングはどうにかして動作しません。 8080/myui /とlocalhostのではない:?8080 /サブパス/ myui/
私は何をしないのです
を(私は)維持するか@Spring(パス= "myui" を削除した場合、それはまだlocalhostにマップすることに注意してください私はVaadinのマニュアルが、今のところ運以下となっている https://vaadin.com/docs/-/part/framework/application/application-environment.html#application.environment.servlet-mapping
Problem2: また、Vaadinは、クラス名から自動的にURLマッピングを生成していない例えばMyUIクラス名は、ローカルホストにマッピングする必要があります:8080 /私-ui/@SpringUIでパス属性を指定しないと(Vaadinのドキュメントに従って)
import com.vaadin.annotations.Theme;
import com.vaadin.annotations.Title;
import com.vaadin.annotations.VaadinServletConfiguration;
import com.vaadin.server.VaadinRequest;
import com.vaadin.spring.annotation.SpringUI;
import com.vaadin.spring.server.SpringVaadinServlet;
import com.vaadin.ui.*;
import javax.servlet.annotation.WebServlet;
@Theme("valo")
@Title("My UI")
@SpringUI(path="myui")
public class MyUI extends UI {
@Override
protected void init(VaadinRequest request) {
// Create the content root layout for the UI
VerticalLayout content = new VerticalLayout();
setContent(content);
// Display the greeting
content.addComponent(new Label("Hello World!"));
// Have a clickable button
content.addComponent(new Button("Click Me!",
click -> Notification.show("Clicked!")));
}
@WebServlet(urlPatterns = {"/admin/*", "/VAADIN/*"}, name = "MyUIServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
public static class MyUIServlet extends SpringVaadinServlet {
}
}
実際には、ドキュメントはv8ではデフォルトで、v7ではデフォルトでは別のパスがあります。https://vaadin.com/docs7/-/part7 ..... ' – Morfic
私は8.0.5を使用しています。それは動作していません。 –
私は春1.5.3リリースで同じバージョンを使用しています。 @SpringUI()はサーブレットのルートにマップされ、@SpringUI(path = "myui")は/ myuiにマップされます。 @SpringUI(path = "myui/subpath")は/ myui/subpathにマップされます。 – efekctive