gpt4 book ai didi

java - 使用 vaadin 在基于 spring 的元素中包含 css

转载 作者:行者123 更新时间:2023-11-28 00:13:59 31 4
gpt4 key购买 nike

尝试将简单的 css 文件包含到 vaadin 路由中使用 spring boot 并有一个 maven 元素。当我在客户端加载页面时出现此错误:

Refused to apply style from 
'http://localhost:8080/frontend/css/msas_login_page.css' because its MIME
type ('text/html') is not a supported stylesheet MIME type, and strict MIME
checking is enabled.

当我尝试访问上面的 url 时,我被重定向到这个 html 错误页面

Could not navigate to 'css/msas_login_page.css'
Reason: Couldn't find route for 'css/msas_login_page.css'

这是我的代码:

package com.msas.MSAS.UIControllers;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.web.context.annotation.SessionScope;

import com.msas.MSAS.UIControllers.Authentication.MSASLoginForm;
import com.vaadin.flow.component.dependency.StyleSheet;
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.AfterNavigationEvent;
import com.vaadin.flow.router.AfterNavigationObserver;
import com.vaadin.flow.router.Route;

@Route("loginPage")
@VaadinSessionScope
@StyleSheet("css/msas_login_page.css")
public class MSASLoginPage extends HorizontalLayout implements
AfterNavigationObserver {

private static final long serialVersionUID = 8673461297922218502L;

private MSASLoginForm loginForm;
private VerticalLayout container;

public MSASLoginPage(@Autowired MessageSource messageSource) {
super();

this.initComponents(messageSource);
}

private void initComponents(MessageSource messageSource) {
this.loginForm = new MSASLoginForm(messageSource);

this.container = new VerticalLayout();
this.container.setDefaultHorizontalComponentAlignment(Alignment.CENTER);
this.container.add(this.loginForm);

this.addClassName("login-page-container");
this.setDefaultVerticalComponentAlignment(Alignment.CENTER);
this.setHeightFull();
this.add(this.container);
}

@Override
public void afterNavigation(AfterNavigationEvent event) {
boolean isError = event.getLocation().getQueryParameters()
.getParameters().containsKey("error");
this.loginForm.setError(isError);
}
}

这是我的元素结构:

  • 来源
    • 主要
      • Java
        • ...
      • 资源
        • ...
      • 网络应用
        • 前端
          • CSS
            • msas_login_page.css

这是css文件内容:

.login-page-container{
}

最佳答案

解决了问题。

我正在使用一个多模块 maven 元素,包含 @SpringBootApplication 并运行整个应用程序的主要方法不在 vaadin 前端文件夹所在的同一模块中。

解决方案是将主类移动到与用于 vaadin 的相同的 maven 模块。

关于java - 使用 vaadin 在基于 spring 的元素中包含 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55226679/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com