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

使用串联动态生成表达式时,thymeleaf内联文本不起作用

朱兴安
2023-03-14

我正在Spring MVC项目中使用Thymeleaf。我需要使用作为查询字符串的一部分提供的id动态构建数据url。我正在使用JQuery上载插件上载所附的文档。

这是必需的输出(对于给定的查询字符串serverId=10)

<input id="fileupload" type="file" name="files[]" data-url="/upload?myId=10"/>

这是Thymeleaf代码

<input id="fileupload" type="file" name="files[]" th:inline="text" data-url="/upload?myId=[[${serverId}]]"/>

我也尝试了一些变化,但是将th: inline移动到父标签,并尝试了th: inline的no和javascript值。我尝试过的其他变体是

<input id="fileupload" type="file" name="files[]" th:inline="text" data-url="[[@{/upload/${serverId}}]]">

<input id="fileupload" type="file" name="files[]" th:inline="text" data-url="[[/upload/${serverId}]]">

这些都不管用<代码>${serverId}仅当它是纯文本时才被解析,但如果尝试以任何其他方式使用它,它将不起作用。尝试了th:with和th:attr的不同组合,但尚未成功。

有人有过类似的问题吗?请建议。

共有1个答案

柳弘方
2023-03-14

我能自己解决这个问题。我不得不使用th:attr

<input id="fileupload" type="file" name="files[]" th:inline="text" data-url="" th:attr="data-url=@{'/upload?myId='+${serverId}}"/>  
 类似资料:
  • 我有一个使用Thymeleaf的Spring启动应用程序。我正在使用字符串值设置一个模型变量,并希望在javascript中将其用作变量值。 在Java中,我执行以下操作: 我的HTML代码如下所示: JavaScript中的结果应该是: 但是我得到的是超文本标记语言: 我在超文本标记语言/JavaScript中尝试了不同的东西: 仅使用一个括号- JavaScript中没有正确的字符串。我怎样才

  • 问题内容: 尝试在模板中合并多个值时遇到问题。根据Thymeleaf的说法,我应该可以将它们+一起组合在一起… 4.6合并文本 文本,无论它们是文字还是评估变量或消息表达式的结果,都可以使用+运算符轻松连接: 这是我发现有效的示例: 但是,这不是: 从逻辑上讲,这应该可以,但是不能,我在做什么错? Maven: 这是我设置TemplateEngine和TemplateResolver的方法: Th

  • 问题内容: 在Material UI中,我想在按钮上设置borderRadius。传递属性似乎适用于,但不适用于。 对于,borderRadius应用于父对象(这是必需的),而不是自身(也是必需的) 这是Material UI中的错误吗?还是这种行为是故意的?如果需要,那么如何制作带有圆角的RaisedButton? 问题答案: 这是预期的行为,并在docs中这样说。作为记录,您永远不希望将道具传

  • 问题内容: 我想根据角度控制器中函数的返回值设置div的位置 以下内容在FireFox和chrome中可以正常运行,但在Internet Explorer中会被解释为文字字符串值,因此无效 这是问题的示例: 这是一个 小提琴 来演示 有没有人建议如何纠正? 问题答案: 您必须使用ng- style 而不是style,否则某些浏览器会在甚至angular都没有机会渲染它之前删除无效的style属性值

  • 问题内容: 说我有以下代码 我希望它在IE8中显示内联。我到处阅读的所有内容都说这应该可行,IE8支持内联块。但是,经过一个上午的尝试,我无法获得上述排队。我知道我可以浮动它,但要使用页面上的其他元素(此处未显示),我需要使用一个“ clearfix”,其标记更多。我只需要针对IE8,很想知道为什么内联块对我显然不起作用,但对我来说却不起作用。在Google Chrome浏览器中,上面的代码可以实

  • 问题内容: 我有一个问题: 虽然我从另一个带有ajax的页面调用内联脚本(也使用jQuery),但似乎不再定义jQuery(?),并且我无法使用任何jQuery函数,应该使用(根据内联脚本)。 它基本上是新闻列表,其中包含指向特定新闻项目的链接。我现在更喜欢使用内联脚本,因为在其他地方不需要此功能。 如您所见,我只是在调用另一个页面的一部分并将其内容附加到页面上。 当我加载整个页面(不是页面的一部