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

Thymeleaf:为控制器中的操作生成URL

狄阳华
2023-03-14

我开始学习Spring框架,在Spring之前我使用Laravel。在Laravel中,我们有各种用于生成url的助手,例如:

<a href="{{ action('MyController@someAction') }}">Some url</a>

在Thymeleaf中是否有类似的内容,基本上我想生成一个url,它将指向控制器中的一些操作,因此如果我更改控制器的映射,所有锚定标记的url都将更改。

共有2个答案

孙胜泫
2023-03-14

Thymeleaf和Spring Boot有非常好的关系。从Spring-初始化器创建Spring Boot应用程序在您的Spring Boot中添加以下依赖项pom.xml

spring-boot-starter-thymeleaf

欢迎您。Java语言

@Controller
public class WelcomeController {

    // inject via application.properties
    @Value("${welcome.message:test}")
    private String message = "Hello World";

    @RequestMapping("/")
    public String welcome(Map<String, Object> model) {
        model.put("message", this.message);
        return "welcome";
    }

}

在欢迎中添加以下内容。html src/main/resources/templates/welcome。html

添加HTML定义:

<html xmlns:th="http://www.thymeleaf.org">

添加到正文中。

<span th:text="'Message: ' + ${message}"></span>

表视图

<tbody>
    <tr th:each="student: ${students}">
      <td> <a th:href="${student.id}"><span  th:text="${student.name}"></span> </a></td>

    </tr>
  </tbody>

就这些

太叔烨霖
2023-03-14

spring boot framework有一个库。为了动态生成链接,您需要将其添加到项目中。该库的梯度依赖性如下所示。

compile 'org.springframework.boot:spring-boot-starter-hateoas:2.1.4.RELEASE'

我假设您的构建系统是gradle,但如果您使用的是maven,请使用以下语法。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-hateoas</artifactId>
    <version>2.1.4.RELEASE</version>
</dependency>

之后,您可以动态生成链接,如下所示。

WebMvcLinkBuilder.linkTo(MyController.class).slash("someAction").withSelfRel().getHref();
 类似资料:
  • 生成一个 Http Controller 必选参数: -name 生成的 Controller 类名 -namespace 生成的 Controller 所在命名空间 可选参数: -prefix 路由前缀,不传则为类名 -render 渲染方式,默认为json,可选:html/json/xml -rest 是否生成 RESTful 风格,默认 false -override 是否覆盖已存在的文件,

  • 我使用的是ruby"2.0.0"和'rails','~ 我使用脚手架生成器作为控制器。所以它也生成了我的控制器测试。特别是更新操作立即中断。测试代码 控制器代码: #补丁/放置 /products/1.json def update respond_to do | format | if@product。更新属性(产品参数)格式。html{redirect_to@product,注意:'产品已成功

  • 概览 触发器配置卡片 此面板配置一些触发器的基本信息,或者进行查阅触发器触发日志等操作。 触发类型目前有两种: 数据表 微信支付回调 条件卡片 对应上面的触发类型,设置不同触发类型的参数。 动作卡片 当触发器的条件被满足,将会执行触发器中的动作。 目前有四种动作类型可选,分别如下: 邮件 微信模板消息 webhook 数据表操作 不同的触发类型对应可选的动作类型不同,每个动作类型又有可选模板变量的

  • 空操作 空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。 下面的例子用空操作功能实现了一个城市切换的功能。 我们只需要给City控制器类定义一个_empty (空操作)方法: <?php namespace app\index\controller; class City { public fu

  • 我在MVC4中遇到了一个非常恼人的问题,我的表单发布没有达到我指定的操作。我以前做过很多次,它工作得很好,但在我的新项目中,它似乎根本不起作用。 HTML/Razor: 控制器: 路由配置: 型号: 有什么想法吗?谢谢!