爪哇。百里香叶。 CRUD 操作后,页面上的所有 .CSS 样式都会消失

2024-01-07

A have simple CRUD web application. And I want to bind UI and backend with thymeleaf. After I create some data and get server response - all styles are disappearing. I'm new to thymeleaf, CSS and HTML. Can someone help me to figure out where is the problem? Before and after: enter image description here enter image description here

保存操作方法:

  @PostMapping("/user/save")
    public ModelAndView save(@ModelAttribute("userDTO") @Valid UserDTO userDTO,
                             BindingResult bindingResult, WebRequest request, Errors errors) {
        User registered = new User();
        if (!bindingResult.hasErrors()) {
            registered = createUserAccount(userDTO, bindingResult);
        }
        if (registered == null) {
            bindingResult.rejectValue("email", "message.regError");
        }
        if (bindingResult.hasErrors()) {
            bindingResult.getAllErrors().forEach(error -> log.error(error.toString()));
            return new ModelAndView("authorization/registration", "error", bindingResult.getAllErrors());
        } else {
            return new ModelAndView("users", "user", userDTO);
        }
    }

注册.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">

<head>
    <meta charset="UTF-8">
    <title>User Registration</title>
    <div th:replace="fragments/css_fragments :: css_background_layer"></div>
</head>

<body>
<div style="text-align:center">
    <div th:replace="fragments/menu_fragments :: header_menu"></div>
</div>
<div style="margin: 0 auto; width: 20%; padding-top: 18%;">
    <div class="registration-form">
        <!--/*@thymesVar id="userDTO" type="com.socnetw.socnetw.model.UserDTO"*/-->
        <form id="form" method="post" action="/user/save" th:object="${userDTO}">
            <label>
                <input name="username" placeholder="Username" required="required" th:field="*{username}"
                       type="text">
            </label>
            <ul>
                <li th:each="err : ${#fields.errors('username')}" th:text="${err}"></li>
            </ul>
            <label>
                <input name="realName" placeholder="Real Name"
                       type="text" th:field="*{realName}">
            </label>
            <ul>
                <li th:each="err : ${#fields.errors('realName')}" th:text="${err}"></li>
            </ul>
            <span></span><br>
            <label>
                <input name="email" placeholder="Email" required="required" th:field="*{email}"
                       type="email">
            </label>
            <ul>
                <li th:each="err : ${#fields.errors('email')}" th:text="${err}"></li>
            </ul>

            <label>
                <input name="phoneNumber" placeholder="Phone Number" required="required" th:field="*{phoneNumber}"
                       type="tel">
            </label>
            <ul>
                <li th:each="err : ${#fields.errors('phoneNumber')}" th:text="${err}"></li>
            </ul>
            <span></span><br>

            <label>
                <input name="password" placeholder="Password" th:field="*{password}"
                       required="required" type="password">
            </label>
            <ul>
                <li th:each="err : ${#fields.errors('password')}" th:text="${err}"></li>
            </ul>
            <label>
                <input name="passwordMatcher" placeholder="Repeat password" th:field="*{matchingPassword}"
                       required="required" type="password">
            </label>
            <ul>
                <li th:each="err : ${#fields.errors('matchingPassword')}" th:text="${err}"></li>
            </ul>
            <span></span><br>
            <button type="submit" style="margin-top: 20px">Register</button>
        </form>
    </div>
</div>
</body>
</html>

CSS 片段

<html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/html">
<div th:fragment="css_background_layer">

    <link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css"
          rel="stylesheet"
          th:href="@{'https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css'}"
          type="text/css">

    <link href="css/style.css" rel="stylesheet"
          th:href="@{css/style.css}"
          type="text/css">

    <div class="overlay"></div>
</div>
</html>

您需要使用 css 的绝对 URL,而不是相对 URL。当你去/user/save它正在寻找/user/save/css/style.css——这可能不存在。

th:href="@{/css/style.css}"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

爪哇。百里香叶。 CRUD 操作后,页面上的所有 .CSS 样式都会消失 的相关文章

  • 将位于 jar 中的文件读取为 java.io.File 对象

    与此类似的问题已发布 但似乎没有一个答案对我的情况有帮助 我正在编写一个程序包 它使用 Google 的凭据来获取 Google Apps 用户 为此 我使用服务帐户 因此为了检索凭据 我需要提供 除其他外 一个 p12 签名文件 Cred
  • java“类文件包含错误的类”错误

    我正在尝试制作一个控制台应用程序来测试我的网络服务 我成功部署了一个网络服务http localhost 8080 WS myWS http localhost 8080 WS myWS我用 wsimport 制作了代理类 wsimport
  • 为什么这不会导致 NullPointerException?

    public class Null public static void greet System out println Hello world public static void main String args Null null
  • Tomcat JDBC 池中没有足够的空闲连接

    给定以下 Tomcat JDBC 连接设置
  • 在 HTML 中移动选取框/下移文本

    我正在尝试向下移动或移动 HTML 中的文本 但我似乎无法将其移动到任何地方 我添加了一个颜色命令来更改文本的颜色 但似乎只是移动了 它一直到顶部
  • 如何加快 jar 签名者的速度?

    我使用 ant 来签署我的 jars 以进行网络启动部署 Ant signjar 在 Web 启动签名时非常慢 如何加快签名过程 我找到了一种可能的解决方案 早些时候 在构建脚本 ant signjar 中 按顺序调用所有 jar 我们使用
  • 带 CSS 网格的等宽侧边栏列

    是否可以让左右列具有相同的宽度 而中间列占据剩余空间 我不想设置像这样的百分比grid template columns 20 60 20 因为并不总是确定这些列的内容是什么 Flexbox 和表格似乎没有解决这个问题的方法 所以我再次尝试
  • CSS:将加载指示器放置在屏幕中央

    如何将加载指示器放置在屏幕中央 目前我正在使用一个小占位符 它似乎工作得很好 但是 当我向下滚动时 加载指示器保持在该预定义位置 我怎样才能让它跟随滚动 使其始终位于顶部 busy position absolute left 50 top
  • 使用 eclipse 配置mockito 时出现问题。给出错误:java.lang.verifyError

    当我将我的mockito库添加到类路径中 并使用一个简单的mockito示例进行测试时 我尝试使用模拟对象为函数add返回错误的值 我得到java lang verifyerror 以下是用于测试的代码 后面是 logcat Test pu
  • Ubuntu 的打包 - Web 应用程序

    Web 应用程序没有与 C 或类似文件不同的 make 文件 但是 它需要放置在特定的目录中 例如 var www 我是 Linux 打包新手 所以我的问题是 如何将我的应用程序打包到 deb 中 以便在安装时将其放入 etc myprog
  • 使用java读取Excel工作表的单列

    我有一张 Excel 表格 我想编写一个方法 该方法将参数作为要读取的列号 并返回一个由该列中的所有数据组成的数组 然后将该列元素放置在 xml 工作表中 我怎样才能编写一个方法来做到这一点 使用 Apache POI 您可以在他们的使用页
  • 在 IntelliJ 中创建可执行 JAR(Java 18、JavaFX 18 Maven 项目),“警告:不支持的 JavaFX 配置...”

    我有一个 Java 18 JavaFX 18 Maven 项目 除了 javaFX 库之外 它还有很多库需要包含在工件中 我想创建一个工件 一个 jar 其中包含所有依赖项 我开始按照这个视频来创建 jar https www youtub
  • Restful WS 中的 WSDL 等价物是什么?如果没有,消费者如何生成所需的客户端类?

    比如说 我在java中有生产者 在 net中有消费者 生产者有一个方法 需要 员工作为方法参数并在数据库中创建员工 对于基于 SOAP 的 ws dot net 客户端将调用 WSDL 并创建存根 包括 dot net 中的员工数据表示 现
  • 在Java中使用==而不是equals来比较不可变对象可以吗

    考虑调用静态工厂方法 valueOf 的两个 Integer 类型的引用 如下所示 Integer a Integer valueOf 10 Integer b Integer valueOf 10 考虑到Integer是不可变的 使用 而
  • 当另一个线程发生事情时从主线程获取数据?

    目前我有一个线程正在运行一个侦听连接的套接字 当它收到连接时 它需要上传在主线程中收集的数据 即从主线程获取数据 但是 我传递了对象的实例 但它从未使用等待连接时收集的数据进行更新 有没有正确的方法来做到这一点 我用谷歌搜索了一下 似乎找不
  • 如何映射 Map

    I tried ManyToMany cascade CascadeType ALL Map
  • servlet 如何获取 servlet 之外的文件的绝对路径?

    我们一直在使用 System getProperties user dir 来获取属性文件的位置 现在它已经部署在 Tomcat 上 通过 servlet 系统调用将位置指定为 tomcat 而不是属性文件所在的位置 我们如何动态调用属性文
  • 如何手动添加Android Studio依赖

    我多次尝试向我的项目添加依赖项 但每次都会出现错误 我想添加它们的依赖项是 de hdodenhof circleimageview 1 3 0 and com github bumptech glide glide 3 6 1 所以我想下
  • 使用 jquery 提供附加功能时菜单未正确对齐

    I need to make a mega menu similar to one as show in image below 到目前为止 我已经能够在某种程度上使其发挥作用 例如jsFiddle 在这里 http jsfiddle ne
  • Bootstrap 3 多个导航栏

    我在 Twitter Bootstrap 3 中的多个引导程序中遇到问题 第一个导航栏可以正常调整大小和响应 第二个导航栏在正常分辨率下无法正常工作 但是当我尝试调整大小以响应并调整大小后 它可以正常工作 这是一些代码

随机推荐