java脚本无法与 java 中的 printwriter 一起使用
javascript not working with printwriter in java
您好,我正在创建一个网页,该网页是使用 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,那么你可以将你的 css
和 javascript
部分分别移动到单独的 .css
和 .js
文件中,并且只包含这些文件使用你的PrintWriter
。以及您想要传递给 javascript 的任何动态字段,您可以将其作为 参数 传递给 javascript 函数(如 function init(macId) {
)。
您好,我正在创建一个网页,该网页是使用 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,那么你可以将你的 css
和 javascript
部分分别移动到单独的 .css
和 .js
文件中,并且只包含这些文件使用你的PrintWriter
。以及您想要传递给 javascript 的任何动态字段,您可以将其作为 参数 传递给 javascript 函数(如 function init(macId) {
)。