javascript 无法与 java 中的 printwriter 一起使用

标签 javascript java jquery html printwriter

您好,我正在创建一个使用 printwriter 从 servlet 开发的网页,我正在附加 HTML、css 和 js,但 javascript 函数无法正常工作,这是因为任何语法错误还是 java 中不支持 js?

我的代码

String htmlHeader = null;
        htmlHeader = "<HTML><HEAD><TITLE>"
                + title
                +"</TITLE>"
                +"<link rel=stylesheet href=/resources/css/jquery-ui.css>"
                +"<script src=//code.jquery.com/jquery-1.10.2.js></script>"
                +"<script src=//code.jquery.com/ui/1.11.4/jquery-ui.js></script>"
                +"<style type=text/css>"
                +"body "
                +"{background-image: url(resources/img/timer_page_new.png);"
                +"-moz-background-size: cover;-webkit-background-size: cover;"
                +"background-size: cover;background-position: top center !important;background-repeat: no-repeat !important;"
                +"background-attachment: fixed;}"
                +"#sel.ui-selecting { background: '#FECA40'; }"
                +"#sel.ui-selected { background: '#F39814'; color: '#7e7d79'; }"
                +"#sel { list-style-type: none; margin: 0; padding: 0; width: 100%; }"
                +"#sel li { margin: 6px; padding: 0.4em; font-size: 1.4em; height: 28px; }</style>"

                +"<script type=text/javascript>"
                +"function init(){"
                +"var ol = document.getElementById('selectable');"
                +" var macId ="+macId+" ;"
                + "var entry = document.createElement('li');"
                +"entry.appendChild(document.createTextNode(macId));"
                +"ol.appendChild(entry);"
                +"ol.addEventListener('click', function(e) {"
                +"if (e.target.tagName === 'LI'){"
                +"alert(e.target.id);"
                +"}" 
                +"});"
                +"}"
                +"setTimeout(function () {"
                +" location.reload();"
                +" }, 20 * 1000);"
                +"</script>"
                +"</HEAD><BODY onload=init("+macId+","+tHr+","+tMin+")><div align=center>";
        return htmlHeader;

带有函数 init() 的 js 文件

function init(macId,tHr,tMin){

              var sTempTableRow='<tr><td width=150px><div align=center><font size=4 color=white face=verdana>'+macId+'</font></div></td>'
              +'<td width=150px><div align=center><font size=4 color=white face=verdana>'+tHr+'</font></div></td></tr>'
              +'<td width=150px><div align=center><font size=4 color=white face=verdana>'+tMin+'</font></div></td>';
              $('#timerTable').append(sTempTableRow);
          }

html 的一部分

<BODY onload=init("+macId+","+tHr+","+tMin+")>

最佳答案

如果您想在 html 文件中编写 javascript 代码,我建议您可以使用 JSP 而不是 Servlet。

但是,如果您想使用 servlet,那么您可以分别将 cssjavascript 部分移动到单独的 .css.js 文件中,并使用 PrintWriter 包含这些文件。无论您想要传递给 javascript 的任何动态字段,都可以将其作为参数传递给您的 javascript 函数(例如 function init(macId) {)。

关于javascript 无法与 java 中的 printwriter 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32390271/

相关文章:

java - Struts2.5.12 - 使用 ActionSupport 中的 getText 方法时的 NPE

java - 使用 jFrame 数组?

jquery - 单击时向 raphael 对象添加类

javascript - 模态布局放在哪里以及如何用动态内容填充它

javascript - 如何在选择器中指定前一个元素的属性?

javascript - Cypress - 比较两个输入的相等性

javascript - 在全局数组中存储 javascript 数据未按预期工作

java - 在 weblogic 中使用 Jersey 接收到对 RestFul web 服务方法的重复调用

javascript - HTML5 Canvas - Cinema Seating Plan,试图让选择的座位变成绿色和红色的座位不可用

Javascript:在具有淡入淡出效果的循环中更改<img>