[英]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.