首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Thymeleaf按钮在新选项卡中使用参数调用url

Thymeleaf 是一个用于服务器端 Java 模板引擎,它可以与 Spring 框架无缝集成,用于创建动态的 HTML 页面。要在新选项卡中打开带有参数的 URL,可以使用 HTML 的 <a> 标签,并结合 Thymeleaf 的表达式语法来设置 href 属性。

基础概念

  • Thymeleaf: 一个现代的服务器端 Java 模板引擎,适用于 Web 和独立环境,能够处理 HTML、XML、JavaScript、CSS 甚至纯文本。
  • URL 参数: 在 URL 中传递的键值对,用于向服务器请求特定的数据。

相关优势

  • 易于集成: Thymeleaf 可以轻松地与 Spring Boot 集成。
  • 自然模板: 即使在没有启动服务器的情况下,Thymeleaf 模板也可以作为静态原型使用。
  • 表达式语法: 提供了丰富的表达式语法,便于在模板中嵌入动态内容。

类型

  • 标准表达式: ${...} 用于变量表达式。
  • 选择表达式: *{...} 用于对象属性的选择。
  • 消息表达式: #{...} 用于国际化消息。
  • 链接表达式: @{...} 用于生成 URL。

应用场景

  • Web 开发: 创建动态 Web 页面。
  • 表单处理: 在表单提交时传递参数。
  • 国际化: 支持多语言内容的显示。

示例代码

假设你有一个控制器方法,它接受一个参数 id 并返回相应的视图:

代码语言:txt
复制
@Controller
public class MyController {
    @GetMapping("/item")
    public String getItem(@RequestParam("id") Long id, Model model) {
        // 根据 id 获取项目信息并将其添加到模型中
        Item item = itemService.getItemById(id);
        model.addAttribute("item", item);
        return "item";
    }
}

在 Thymeleaf 模板中,你可以这样创建一个在新选项卡中打开带有参数的 URL 的按钮:

代码语言:txt
复制
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Item Details</title>
</head>
<body>
    <a th:href="@{/item(id=${item.id})}" target="_blank">View Item Details</a>
</body>
</html>

在这个例子中,th:href 属性使用了 Thymeleaf 的链接表达式 @{...} 来生成 URL,并且通过 ${item.id} 插入了动态的 id 参数。target="_blank" 属性确保了链接在新选项卡中打开。

遇到问题及解决方法

如果你遇到了在新选项卡中打开链接时参数没有正确传递的问题,可以检查以下几点:

  1. 控制器方法参数: 确保控制器方法的参数名称与 URL 中的参数名称匹配。
  2. Thymeleaf 表达式: 确认 Thymeleaf 表达式正确无误,并且变量在上下文中是可用的。
  3. 浏览器缓存: 清除浏览器缓存,有时候旧的缓存可能导致 URL 参数没有更新。

通过以上步骤,你应该能够解决在新选项卡中使用参数调用 URL 的问题。如果问题仍然存在,建议检查服务器日志以获取更多调试信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Google Earth Engine(GEE)——GEE最全介绍(7000字长文)初学者福音!

使用“获取链接”按钮与合作者和朋友共享脚本的唯一 URL 。您在代码编辑器中开发的脚本会发送到 Google 进行处理,生成的地图图块和/或消息会发送回以显示在“地图”和/或“控制台”选项卡中。...资产管理器(资产选项卡) 资产管理器位于左侧面板的资产选项卡中。使用资产管理器在 Earth Engine 中上传和管理您自己的图像资产。 脚本链接 代码编辑器脚本可以通过编码的 URL 共享。...单击此选项会加载一个带有界面的新浏览器选项卡,供您调用、删除和下载以前生成的脚本链接。...单击应用将可视化参数应用到当前显示。单击导入将可视化参数对象作为新变量加载到脚本的导入部分。 图层可视化工具 请注意,图层管理器​​右侧是用于不同地图背景的切换按钮。...这将激活代码编辑器右侧的Profiler选项卡。在脚本运行时,Profiler选项卡将显示脚本中的资源使用表。单击运行按钮(不进行分析)将使分析器 选项卡消失并禁用分析器。

2.2K11
  • Spring Web MVC框架(十二) 使用Thymeleaf

    如果需要向页面传值的话,可以在控制器方法参数中添加Model对象,然后向其添加需要传递的对象。之后可以使用${var_name}在Thymeleaf中访问了。 不进行任何操作 生成链接 Thymeleaf也可以生成URL,类似JSTL中的url>标签。这需要使用另外一种类型的表达式@{...},表示其中的是URL。...支持的URL有绝对路径(完整的URL),Servlet环境相对路径(/showUsers这样的)、服务器相对路径(~/myapp/showUser这样的,允许我们调用同一个服务器下其他Servlet环境中的...返回主页 假如需要在链接中包含查询参数,可以在@{}中使用括号,有多个查询参数使用逗号分隔开。下面这个例子最终会生成类似/hello?...它们分别是th:alt-title和th:lang-xmllang,在设置图片和语言属性的时候非常有用。 有时候需要向已有的属性中添加新的值(例如在Bootstrap中卫按钮设置不同的颜色)。

    2.9K10

    Edge2AI之使用 SQL 查询流

    如果您已经在 SSB 中创建了 API Key,您可以从下拉列表中选择它。否则,通过单击上面显示的“添加 API Key”按钮在现场创建一个。用作ssb-lab键名。 单击添加查询以创建新的 MV。...返回SQL选项卡并单击执行以开始作业。 在Materialized Views选项卡上,复制屏幕上显示的新 MV URL 并在新的浏览器选项卡中打开它(或直接单击 URL 链接)。...带参数的物化视图 您在上面创建的 MV 没有参数;当您调用 REST 端点时,它总是返回 MV 的完整内容。可以为 MV 指定参数,以便在查询时过滤内容。...在Materialized Views选项卡上,单击Add Query按钮以创建一个新的 MV,输入以下参数并单击Save Changes。...URL 有{lowerTemp}和{upperTemp}参数的占位符: 返回SQL选项卡并再次执行作业。

    76460

    jQuery基础(五)一Ajax应用与常用插件-imooc

    )方法异步请求数据 使用load()方法通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,它的调用格式为: load(url,[data],[callback]) 参数url为加载服务器地址...,它的调用格式如下: $.get(url,[callback]) 例如,当点击“加载”按钮时,调用get()方法向服务器中的一个.php文件以GET方式请求数据,并将返回的数据内容显示在页面中,如下图所示...,并将处理结果返回页面,调用格式如下: $.post(url,[data],[callback]) 例如,在输入框中录入一个数字,点击“检测”按钮,调用post()方法向服务器以POST方式发送请求,检测输入值的奇偶性...selector).serialize() 其中selector参数是一个或多个表单中的元素或表单元素本身 例如,在表单中添加多个元素,点击“序列化”按钮后,调用serialize()方法,将表单中元素全部序列化...3-5选项卡插件——tabs 使用选项卡插件可以将中的选项定义为选项标题,在标题中,再使用元素的“href”属性设置选项标题对应的内容,它的调用格式如下: $(selector).

    16.6K20

    SpringBoot集成onlyoffice实现word文档编辑保存

    该对象具有以下参数: "blank": true, //在新的浏览器选项卡/窗口(如果值设置为true)或当前选项卡(如果值设置为false...在data参数中发送要下载的文档的绝对URL 。 // onError,//-发生错误或其他特定事件时调用的函数。...错误消息在data参数中发送。 // onInfo,//-应用程序打开文件时调用的函数。该模式在data.mode参数中发送。...调用此事件时,必须使用新的document.key重新初始化编辑器。 // onReady,//-将应用程序加载到浏览器时调用的函数。...// onRequestSaveAs,//-用户尝试通过单击“另存为...”按钮保存文件时调用的函数。文档的标题和要下载的文档的绝对URL在data参数中发送。

    1.8K50

    开发过程中,建议使用 VSCode 的 Thunder Client 插件替代 Postman, 让你显得更专业

    测试API调用 在本节中,我将为您介绍使用Thunder Client测试API调用的过程,包括如何发出请求、设置头部、参数以及如何处理响应。...让我们来探索如何使用Thunder Client传递查询参数: 点击查询选项卡以输入每个查询参数的参数和值,URL将相应更新。 在查询选项卡中,您会找到可以添加查询参数及其对应值的字段。...在集合选项卡中点击集合上的选项按钮,创建一个新的请求,给它一个名称,例如“登录用户”,将类型设置为 POST ,将URL设置为“ https://dummyjson.com/auth/login”。...该功能会自动为API返回的数据生成类型,使得将API响应无缝集成到前端应用程序中变得更加容易。 在“结果”选项卡中,寻找位于代码片段选项卡旁边的“生成类型”按钮。...现在,我们可以通过在新请求的Auth选项卡中的Bearer Token字段中添加该令牌变量来进行身份验证请求。 太棒了。

    5K20

    接口测试工具 Postman 使用实践

    接口说明 调用的 url 请求方法(get、post) 请求参数,参数类型、请求参数说明 返回参数说明 返回示例 2....(1)历史选项卡 通过 Postman 应用程序发送的每个请求都保存在侧边栏的 History 选项卡中。 (2)集合选项卡 在侧栏中创建和管理集合选项卡的集合。 2....link 等 新窗口图标-打开一个新的 tab 页、新的窗口、新的 runner 等 构建器和团队库选项卡——在请求生成器和 Team Library 视图之间切换 抓取 API 请求图标——使用 postman...Log 中)。这个功能只能在 Postman 的本地应用中使用。 DevTools Console——可以在开发期间记录诊断信息。 六、借助 Postman 完成 HTTP 请求接口测试 1....GET 请求可以使用 “查询字符串参数” 将参数传递给服务器。例如,在下列请求中,http://example.com/hi/there?

    1.5K20

    Edge2AI之NiFi 和流处理

    添加服务后,单击服务的配置图标 ( ),转到Properties选项卡并使用以下Schema Registry URL对其进行配置,然后单击Apply。...实验 4 - 使用 NiFi 调用 CDSW 模型端点并保存到 Kudu 在本实验中,您将使用 NiFi 消费包含我们在上一个实验中摄取的 IoT 数据的 Kafka 消息,调用 CDSW 模型 API...我们还将添加一个新的RestLookupService控制器服务来执行对 CDSW 模型 API 端点的调用。 如果您不在Process Sensor Data处理组中,请双击它以展开它。...点击加号按钮(),添加一个新的JsonTreeReader,配置如下,完成后点击Apply: 在Settings选项卡上: Name: JsonTreeReader - With schema identifier...再次点击加号按钮(),添加一个RestLookupService控制器服务,如下图配置,完成后点击应用: 在Properties选项卡上: URL:http://modelservice.cdsw.

    2.6K30

    在 Python 中使用 Selenium 打开链接

    在本文中,我们将学习使用 Python 在 Selenium 中打开链接的各种方法。 先决条件 在我们开始之前,只需确保您已安装以下软件: 蟒: 安装 Python,如果你还没有的话。...此方法指示浏览器导航到指定的 URL。 语法 获取() driver.get(url) 参数: 网址:您打算打开的链接。 解释 从硒导入Web驱动程序类。...创建一个驱动程序对象,并通过传递要打开的所需 url 来调用 get() 方法。...现在让我们讨论如何在新选项卡或新窗口中打开链接。...包括直接使用 get() 方法打开链接、单击包含链接的元素或在新选项卡/窗口中打开链接。根据您的使用案例,您可以选择最适合您的方法。

    75120

    接口测试工具Postman使用实践

    接口说明 调用的url 请求方法(get、post) 请求参数,参数类型、请求参数说明 返回参数说明 返回示例 2、示例: 注:上图接口文档工具为ShowDoc ##五、Postman工具简介...(1)历史选项卡 通过Postman应用程序发送的每个请求都保存在侧边栏的History选项卡中。 (2)集合选项卡 在侧栏中创建和管理集合选项卡的集合。...文件、文件夹、form link等 (4)新窗口图标-打开一个新的tab页、新的窗口、新的runner等 (5)构建器和团队库选项卡——在请求生成器和Team Library视图之间切换 (6)抓取...Log中)。这个功能只能在Postman的本地应用中使用。 (2)DevTools Console——可以在开发期间记录诊断信息。...GET请求可以使用“查询字符串参数”将参数传递给服务器。例如,在下列请求中,http://example.com/hi/there?hand=wave,参数“hand”的值等于“wave”。

    1.4K40

    SpringBoot+MyBatis+Spring 技术整合实现商品模块的CRUD操作

    是一种模板引擎,此引擎以html为模板,将服务端model中数据填充在页面上,其官网为thymeleaf.org Goods页面上数据呈现分析: ?...的格式,其url语法为/a/b/{c}/{d},在这样的语法结构中{}为一个变量表达式。...假如我们希望在方法参数中获取rest url中变量表达式的值,可以使用@PathVariable注解对参数进行描述。...image 项目启动及运行过程中的Bug及问题分析 SQL映射元素定义问题,如图所示: ? image 客户端请求参数与服务端参数不匹配,如图所示: ?...image 第三步:在添加页面中填写表单,然后点击save按钮将表单数据提交到服务端,如图所示: ? image 第四步:添加页面中表单数据提交过程分析,如图所示: ?

    1.4K10

    JavaScript 逆向爬虫中的浏览器调试常见技巧

    在 Computed 选项卡中还可以看到当前节点的盒子模型,比如外边距、内边距等,还可以看到当前节点最终计算出的 CSS 的样式,如图所示。...观察调用栈 在调试的过程中,我们可能会跳到一个新的位置,比如点击上述 Step Over Next Function Call 几下,可能会跳到一个叫作 ct 的方法中,这时候我们也不知道发生了什么,如图所示...和之前一样,我们点击翻页按钮 2,在 Network 面板里面观察 Ajax 请求是怎样的,请求的 URL 如图所示。...请求的 URL 可以看到 URL 里面包含 /api/movie 这样的内容,所以我们可以在刚才的 XHR/fetch Breakpoints 面板中添加拦截规则。...调用方法 可以发现,可能使用了 axios 库发起了一个 Ajax 请求,还有 limit、offset、token 这 3 个参数,基本就能确定了,顺利找到了突破口!

    2.3K50

    Selenium的使用方法简介

    接下来,我们要做的就是调用browser对象,让其执行各个动作以模拟浏览器操作。 4. 访问页面 我们可以用get()方法来请求网页,参数传入链接URL即可。...动作链 在上面的实例中,一些交互动作都是针对某个节点执行的。比如,对于输入框,我们就调用它的输入文字和清空文字方法;对于按钮,就调用它的点击方法。...选项卡管理 在访问网页的时候,会开启一个个选项卡。在Selenium中,我们也可以对选项卡进行操作。...要想切换选项卡,只需要调用switch_to_window()方法即可,其中参数是选项卡的代号。...这里我们将第二个选项卡代号传入,即跳转到第二个选项卡,接下来在第二个选项卡下打开一个新页面,然后切换回第一个选项卡重新调用switch_to_window()方法,再执行其他操作即可。 15.

    5.2K62

    最全的Spring Boot 邮件发送的 5 种姿势!

    准备工作 目前国内大部分的邮件服务商都不允许直接使用用户名/密码的方式来在代码中发送邮件,都是要先申请授权码,这里以 QQ 邮箱为例,向大家演示授权码的申请流程:首先我们需要先登录 QQ 邮箱网页版,点击上方的设置按钮...然后点击账户选项卡: ? 在账户选项卡中找到开启POP3/SMTP选项,如下: ? 点击开启,开启相关功能,开启过程需要手机号码验证,按照步骤操作即可,不赘述。...true 表示第一个参数是一个 HTML 文本。...在公司实际开发中,第一种和第三种都不是使用最多的邮件发送方案。...调用该方法,发送邮件,效果图如下: ? 使用 Thymeleaf 作邮件模板 推荐在 Spring Boot 中使用 Thymeleaf 来构建邮件模板。

    98320

    Spring Boot 邮件发送的 5 种姿势!

    准备工作 目前国内大部分的邮件服务商都不允许直接使用用户名/密码的方式来在代码中发送邮件,都是要先申请授权码,这里以 QQ 邮箱为例,向大家演示授权码的申请流程:首先我们需要先登录 QQ 邮箱网页版,点击上方的设置按钮...然后点击账户选项卡: ? 在账户选项卡中找到开启POP3/SMTP选项,如下: ? 点击开启,开启相关功能,开启过程需要手机号码验证,按照步骤操作即可,不赘述。...true 表示第一个参数是一个 HTML 文本。...在公司实际开发中,第一种和第三种都不是使用最多的邮件发送方案。...调用该方法,发送邮件,效果图如下: ? 使用 Thymeleaf 作邮件模板 推荐在 Spring Boot 中使用 Thymeleaf 来构建邮件模板。

    61740

    Spring Cloud Security OAuth2 中实现简化模式(二)

    编写授权页面在 Spring Security 中,可以使用 AuthorizationRequest 对象和 OAuth2AuthorizationRequest 对象来保存授权请求信息。...使用隐藏域来保存 response_type、client_id、redirect_uri 和 scope 参数,这些参数用在上面的授权页面中,使用隐藏域来保存 response_type、client_id...测试授权流程在完成上述配置后,我们可以使用浏览器来测试授权流程。首先,访问授权客户端的首页,点击“Login”按钮,跳转到认证服务器的登录页面,输入用户名和密码进行登录。...使用 Spring MVC 实现了一个简单的资源服务器,其中 @GetMapping("/secure") 注解用于指定 URL 的匹配规则,Principal 参数用于获取当前用户的信息。...在本例中,使用 principal.getName() 方法获取当前用户的用户名,并返回相应的字符串。

    34130
    领券