gpt4 book ai didi

java - 如何在 Java 类中触发 JavaScript 函数?

转载 作者:行者123 更新时间:2023-12-01 13:29:21 25 4
gpt4 key购买 nike

我有一个相互协作的 JSP 和 Java 类。

我的 Java 类中有一个 boolean 变量。我想一直用 AJAX 检查它的值是否已更改为 true。 JavaScript 警报显示一条消息。

在 JSF 中,有这样的东西:

<h:outputScript rendered="#{categoryBean.showCategoryNameAlert}">
alert("CategoryName already exist!");
</h:outputScript>

但是我不知道如何在JSP中做到这一点?

最佳答案

您可以尝试使用以下示例。

前端部分:

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">

<title></title>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
setInterval(function(){
$.get('/backEnd',function(responseText) {
if(responseText == 'true') {
alert("Variable has been set");
}
});
},1000);
});
</script>
</head>

<body>
</body>

</html>

后端部分:

@WebServlet(name = "checkerServlet", urlPatterns = { "/backEnd" })
public class CheckerServlet extends HttpServlet {
private YourClass yourClass;

@Override
public void init() {
yourClass = new YourClass();
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain");
PrintWriter writer = response.getWriter();

if(yourClass.getBooleanValue) {
writer.write("true");
} else {
writer.write("false");
}

writer.close();
}

@Override
protected void doPost(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}

带有 boolean 的类示例变量-

public class YourClass {
private static boolean booleanValue = false;

public void setBooleanValue() {
booleanValue = true;
}

public void resetBooleanValue() {
booleanValue = false;
}

public boolean getBooleanValue() {
return booleanValue;
}
...
}
<小时/>

如果您没有使用 servlet,则可以使用此调用:

<%@ page import="fullpackagename.YourClass" %>
<jsp:useBean id="yourClass" scope="request" class="fullpackagename.YourClass" />

<%
YourClass yourClass = new YourClass();
// check your variable here
%>

将其添加到表示层。

自动刷新代码:

<%response.setIntHeader("Refresh", 1); %>

关于java - 如何在 Java 类中触发 JavaScript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21655997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com