有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript不能在java中与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+")>

共 (1) 个答案

  1. # 1 楼答案

    如果你想在html文件中编写javascript,我想说你可以使用JSP而不是Servlet

    但是如果你想使用servlet,那么你可以将你的cssjavascript部分分别移动到单独的.css.js文件中,只需使用PrintWriter包含这些文件即可。以及希望传递给javascript的任何动态字段,这些字段可以作为参数传递给javascript函数(比如^{