【问题标题】:How to fix calling Java method using Thymeleaf?如何修复使用 Thymeleaf 调用 Java 方法?
【发布时间】:2020-04-27 06:35:06
【问题描述】:

我正在尝试调用一个方法,该方法返回一个模型并使用 Thymeleaf 向控制台打印一条简单的消息。但是,我意识到,每当我设置要调用的操作时,它都不会按照我想要的方式工作。该函数不会被调用。虽然当我进入查看page source 并单击按钮时,它会执行所需的操作。我尝试改用th:action,但仍然遇到同样的问题,即没有获取模型并且没有执行System.out.print("Works") 代码行。我在这个问题上卡了这么久,并且阅读了一些文档,但我似乎无法找到解决它的方法。

HTML:


    <div class="modal-footer">
            <a th:href="@{/mqlGetSecondQuery}" class="selectorBtn">
                  <button type="button" class="btn btn-primary modalPathContentBtn" 
                   data-dismiss="modal">Continue</button>
            </a>
    </div>

Java:

@RequestMapping(value = "/mqlGetSecondQuery", method = RequestMethod.GET)
    public void getMQLSecondQuery(Model model) {

         model.addAttribute("queryResult", stringFromClass);
         System.out.println("Works");
    }

【问题讨论】:

  • 不太清楚您要做什么。您是否尝试从另一个类调用该方法,在这种情况下不起作用?顺便说一句,该方法不返回任何模型,它只是添加了一个属性。
  • @FabioPiunti 所以在我的 HTML 中,我设置了当你按下某个按钮时,它应该在我的 Java 控制器中链接并运行与之关联的方法。
  • 那么,它什么时候起作用? “当我进入查看页面源并单击它执行所需操作的按钮时,你是什么意思?”。您是否使用 chrome 管理实际的源页面?
  • @FabioPiunti 所以是的,只有当我转到 chrome 中的查看页面源代码,然后单击链接时它才能工作。除此之外,当我单击按钮时,它不起作用。

标签: java spring spring-boot thymeleaf


【解决方案1】:

&lt;a&gt; 元素内有 &lt;button&gt; 元素,这意味着您在同一个位置有 2 个可点击元素。基本上是not valid HTML syntax。我怀疑这可能会影响触发操作。

请删除

<button type="button" class="btn btn-primary modalPathContentBtn" 
                   data-dismiss="modal">Continue</button>

从您的角度来看,并提供任何有效的内容(例如纯文本 Continue)。

【讨论】:

    猜你喜欢
    • 2020-04-16
    • 1970-01-01
    • 2016-12-17
    • 2018-06-01
    • 2015-03-20
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    相关资源
    最近更新 更多