javascript不能在java中与printwriter一起使用

javascript不能在java中与printwriter一起使用,javascript,java,jquery,html,printwriter,Javascript,Java,Jquery,Html,Printwriter,您好,我正在创建一个使用printwriter从servlet开发的网页,我正在添加HTML、css和js,但javascript函数不起作用,这是因为语法错误还是java内部不支持js 我的代码 String htmlHeader = null; htmlHeader = "<HTML><HEAD><TITLE>" + title +"</TITLE>"

您好,我正在创建一个使用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;
字符串htmlHeader=null;
htmlHeader=“”
+头衔
+""
+""
+""
+""
+""
+“身体”
+“{背景图像:url(resources/img/timer_page_new.png);”
+“-moz背景尺寸:封面;-webkit背景尺寸:封面;”
+“背景大小:封面;背景位置:上止点!重要;背景重复:不重复!重要;”
+“背景附件:已修复;}”
+“#sel.ui-选择{背景:'#FECA40';}”
+#sel.ui-selected{背景:'#F39814';颜色:'#7e7d79';}
+“#sel{列表样式类型:无;边距:0;填充:0;宽度:100%;}”
+“#sel li{边距:6px;填充:0.4em;字体大小:1.4em;高度:28px;}”
+""
+“函数init(){”
+“var ol=document.getElementById('可选');”
+“var macId=“+macId+”;”
+“var entry=document.createElement('li')
+“entry.appendChild(document.createTextNode(macId));”
+“其他附加项(条目);”
+ol.addEventListener('click',函数(e){
+“如果(e.target.tagName=='LI'){”
+“警报(如target.id);”
+"}" 
+"});"
+"}"
+“设置超时(函数(){”
+“location.reload();”
+" }, 20 * 1000);"
+""
+"";
返回htmlHeader;
带有函数init()的js文件

函数初始化(macId、tHr、tMin){
var sTempTableRow=''+macId+''
+“+tHr+”
+''+tMin+'';
$('#timerTable').append(sTempTableRow);
}
html的一部分

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

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


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

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



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

为什么不使用JSP?这样编写正确的JavaScript就容易多了。最好的组合是将Spring WebMVC与JSP结合使用。你不能直接这么做。@Schrieveslaach使用Spring WebMVC是基于意见的。但是@James为什么不使用JSP编写html页面?@Naman,你在写。我应该写一个好的组合。-)为什么o您不使用JSP?它使编写正确的JavaScript更加容易。最好的组合是使用Spring WebMVC和JSP。您不能直接这样做。@Schrieveslaach使用Spring WebMVC是基于意见的。但是@James为什么不使用JSP来编写html页面?@Naman,您正在编写。如果我使用j,我应该编写一个好的组合。-sp,如果我需要更新我的listview和table,我应该动态构建它们吗?或者有没有办法将这些动态字段传递给html?JSP用于动态构建html。您可以包含java代码或方法调用,从源代码(比如JSP中的数据库)获取数据。嗨,您能给出一个示例函数,其中的参数在body o中吗nload,函数应该使用表中传递的参数动态创建一个新行,我已经尝试过了,但它没有显示任何内容:(告诉我您尝试了什么?我们将尝试解决您代码中的问题。为什么要使用init函数在body load上创建表行?您可以直接在jsp文件中创建表行。如果我使用jsp,如果我需要更新我的listview和表,我应该动态构建它们吗?或者有没有办法将这些动态字段传递到html?jsp用于动态构建html。您可以在JSP中包含java代码或方法调用,以从源代码(比如数据库)中获取数据。您好,您是否可以给出一个示例函数,在body onload中包含参数,该函数应该使用表中传递的参数动态创建一个新行,我已经尝试过了,但它没有显示任何内容:(告诉我您尝试了什么?我们将尝试解决您代码中的问题。为什么要使用init函数在body load上创建表行?您可以直接在jsp文件中创建表行。
<BODY onload=init("+macId+","+tHr+","+tMin+")>