簡體   English   中英

如何根據我的 Java 代碼中的條件有條件地調用 JavaScript 中的警報()?

[英]How do I conditionally call an alert() in JavaScript based on conditions from my Java code?

如果記錄的數據(通過 web 頁面上的表格)達到或超過設定的目標(已經記錄和存儲),我正在嘗試顯示警報(“恭喜”消息),我也在考慮也許有條件地用它給 go 播放一個可愛的小聲音。 但我當然想先讓彈出窗口工作,我對 JavaScript 很陌生。 所以我希望這個問題不是我的愚蠢疏忽。 我確實在網上進行了一些挖掘,但找不到完全適合我在這里嘗試做的解決方案。

因此,在我的 Java 代碼中,我檢查正在記錄的數據是否滿足或超過目標,如果滿足,則目標 object 中的 boolean 變量反映了目標已完成。 boolean 變量正在正確更新。 但是,在我的 web 頁面中,當包裹在我擁有的條件下時,我無法彈出警報。

我知道下面的 Java 代碼行正在被看到,因為我在它之前和之后放置了一個打印語句,並且兩者都在打印。

這里是相關的Java代碼:

model.addAttribute("goalMet", true);

這是相關的 HTML 和 JS(我使用的是 Thymeleaf):

<div th:if="${goalMet}">
<p> abc123 </p>
<script th:inline="javascript">
    function congratulate() {
      alert("Congratulations on achieving your Goal!");
    }
    congratulate()
</script>
</div>

abc123 剛剛被扔進去調試,目前在記錄符合目標的數據后沒有出現。 我已經嘗試了腳本標簽的一些變體,無論有沒有 th:inline="javascript" 部分。 我還嘗試將 function 定義移動到 html 頭標簽中,並在此條件塊中調用 congratulate() 。 到目前為止,我所有的嘗試都沒有成功。

在記錄滿足目標的數據后,我看到的唯一效果是 URL 附加了“?goalMet=true”。

感謝 Randy Casburn 的建議,我能夠使用重定向屬性來完成這項工作。 這是我所做的:

改變了

model.addAttribute("goalMet", true);

redirectAttrs.addFlashAttribute("goalMet", true);

我補充說

“RedirectAttributes redirectAttrs”作為進行重定向的方法的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM