当前位置: 首页 > 知识库问答 >
问题:

带有HTML和thymeleaf的路径

颛孙昆
2023-03-14

我有一个小Java, Spring, thymeleaf网络应用程序与引导。

我的控制器:

@Controller
@RequestMapping("/productmerger")
public class SetupController {

    @Autowired
    private TradingModel tradingModel;


    @RequestMapping(value = "start", method = RequestMethod.GET)
    //@ResponseBody //can be deleted due to thymeleaf
    public String start(ModelMap modelMap) {
        modelMap.put("productList", tradingModel.getAvailableProducts());
        return "start";
    }

    @RequestMapping(value = "start", method = RequestMethod.POST)
    public String startPost(@RequestParam("Products") String[] products, HttpEntity<String> httpEntity) {
        tradingModel.getContentList().clear();
        for (String product : products) {
            tradingModel.getContentList().add(new Product(product));
        }
        return "redirect:/handleDetails";
    }

}

我的HTML

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">
<head th:replace="template :: head">
</head>
<body>

<div class="container">
    <form method="post" action="start.html">
        <h2>Chose what you want to trade</h2>
        <label>
            <select th:name="Products" class="selectpicker" multiple="multiple">
                <!--/*@thymesVar id="productList" type="java.util.List"*/-->
                <option th:each="product : ${productList}"><a th:text="${product}"></a></option>
            </select>
        </label>
        <button th:type="submit" class="btn btn-info">Send</button>
    </form>
</div>
<div th:replace="template :: footer"></div>
</body>
</html>

我的浏览器中的源代码

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8" />

    <title></title>
    <link rel="stylesheet" href="webjars/bootstrap/3.3.7-1/css/bootstrap.min.css" />
    <link rel="stylesheet" href="webjars/bootstrap/3.3.7-1/css/bootstrap-theme.min.css" />
    <link rel="stylesheet" href="webjars/bootstrap-select/1.12.0/css/bootstrap-select.min.css" />
</head>
<body>

<div class="container">
    <form method="post" action="start.html">
        <h2>Chose what you want to trade</h2>
        <label>
            <select class="selectpicker" multiple="multiple" name="Products">

                <option><a>Table</a></option>

                <option><a>Glas</a></option>

                <option><a>Fork</a></option>
            </select>
        </label>
        <button class="btn btn-info" type="submit">Send</button>
    </form>
</div>
<footer>
    <script src="webjars/jquery/3.2.0/jquery.min.js"></script>
    <script src="webjars/bootstrap/3.3.7-1/js/bootstrap.min.js"></script>
    <script src="webjars/bootstrap-select/1.12.0/js/bootstrap-select.js"></script>
</footer>
</body>
</html>

我template.html的一部分

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">
<head th:fragment="head">
    <meta charset="UTF-8"/>
    <!--/*@thymesVar id="title" type="String"*/-->
    <title th:text="${title}">Hello</title>
    <link th:href="@{webjars/bootstrap/3.3.7-1/css/bootstrap.min.css}" rel="stylesheet"/>
    <link th:href="@{webjars/bootstrap/3.3.7-1/css/bootstrap-theme.min.css}" rel="stylesheet"/>
    <link th:href="@{webjars/bootstrap-select/1.12.0/css/bootstrap-select.min.css}" rel="stylesheet"/>
</head>

start.html路径

D:\Program\Dropbox\HelloSpring3\src\main\resources\templates\start。html

css的路径

C:\用户\N-rG. m2\repository\org\webjars\bootstrap\3.3.7-1\bootstrap-3.3.7-1.jar!\META-INF\资源\webjars\bootstrap\3.3.7-1\css\bootstrap.min.css

我的问题:

在浏览器中正确显示的链接后面:

 <link rel="stylesheet" href="webjars/bootstrap/3.3.7-1/css/bootstrap.min.css" />

实际上是错误的,因为一旦我悬停在上面或点击它,它就会把我重定向到

http://localhost:8080/productmerger/webjars/bootstrap/3.3.7-1/css/bootstrap。min.css

所以这里的/productmerge/part是错误的。我怎样才能摆脱它?

请帮帮我。

非常感谢!

共有1个答案

卢德惠
2023-03-14

您可能希望通过首先添加/来获得与上下文相关的URL:

<link th:href="@{/webjars/bootstrap/3.3.7-1/css/bootstrap.min.css}" rel="stylesheet"/>

有关详细信息,请参阅Thymeleaf标准URL语法。

 类似资料:
  • 我正试图解决一个用Spring Boot(Thymeleaf)制作的项目的问题。当我运行项目(作为Spring Boot应用程序运行)时,项目开始,但当我打开浏览器时,我可以看到以下布局: 如果在Eclipse上的项目文件夹中,我右键单击索引。html页面,我选择“打开与”和“网页浏览器”,网站的布局显示在正确的方式。 这是我的项目结构: 我做错什么了吗? 这里是我的项目的依赖关系:

  • 所以我试图用th: href重定向整个网址,但它添加了我不想要的字符。 我现在的网址是这个 我试图回到帖子的一部分,那就是 所以现在这就是我的html的样子 这是我得到的网址 Id是正确的,但我不确定为什么

  • 我花了两天时间阅读了关于这个问题的每一篇文章,我可以肯定地说,我被牢牢地卡住了。如有任何帮助,我们将不胜感激。 亚历克斯

  • 问题内容: 我有一张像这样的桌子,上面有数据 and CSS like that 但滚动不起作用,我想固定表格的高度,如果超出高度,则使用滚动条 问题答案: Table with Fixed Header Result This is working in all browser

  • 问题内容: 我有以下代码在控制器中设置变量: 在百里香视图中,我想构造一个带有动作网址的表单: 任何想法如何实现这一目标?我没看过百里香的文档。 问题答案: 正如user482745在注释(现在已删除)中建议的那样,我之前建议的字符串连接 在某些网络环境下会失败。 Thymeleaf用来解析表达式。在内部,使用。它的javadoc状态 为了进行可靠的会话跟踪,应通过此方法运行servlet发出的所

  • 我在控制器中设置变量的代码如下: 在thymeleaf视图中,我想用action url构建一个表单: 有什么想法如何实现这一点?我读过thymeleaf留档没有运气。