给日历部分的select和span弄个ID,改下JS里对应的编码,或者将日历文件放在单独的iframe里注意这段: var C = M("top").getElementsByTagName("SELECT")[0]; var X = M("top").getElementsByTagName("SELECT")[1]; var G = M("top").getElementsByTagName("SPAN")[0]; var c = M("top").getElementsByTagName("SPAN")[1]; var Y = M("top").getElementsByTagName("INPUT")[0];
374: var b=/([.*+?^=!:${}()|[\]\/\\])/g,Z="{".replace(b,"\\$1"),d="}".replace(b,"\\$1"); 说是这行有问题。
type Exception reportmessage An exception occurred processing JSP page /calendar3.jsp at line 374description The server encountered an internal error that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: An exception occurred processing JSP page /calendar3.jsp at line 374371: var C; 372: function Y(e,c){ 373: if(arguments.length>1){ 374: var b=/([.*+?^=!:${}()|[\]\/\\])/g,Z="{".replace(b,"\\$1"),d="}".replace(b,"\\$1"); 375: var a=new RegExp("#"+Z+"([^"+Z+d+"]+)"+d,"g"); 376: if(typeof (c)=="object"){ 377: return e.replace(a,function(f,h){
var F = (function() { var C; function Y(e, c) { if (arguments.length > 1) { var b = /([.*+?^=!:${}()|[\]\/\\])/g, Z = "{".replace( b, "\\$1"), d = "}".replace(b, "\\$1"); var a = new RegExp("#" + Z + "([^" + Z + d + "]+)" + d, "g"); if (typeof (c) == "object") { return e.replace(a, function(f, h) { var g = c[h]; return typeof (g) == "undefined" ? "" : g }) } } return e } function G(b) { var a = Q.getJson().dateArray[b.dateIndex]; var Z = b.cell; var c = "#{solarYear} 年 #{solarMonth} 月 #{solarDate} 日 #{solarWeekDayInChinese}"; c += "<br><b>农历 #{lunarMonthInChinese}月#{lunarDateInChinese}</b>"; c += "<br>#{ganzhiYear}年 #{ganzhiMonth}月 #{ganzhiDate}日"; if (a.solarFestival != "" || a.lunarFestival != "" || a.jieqi != "") { c += "<br><b>#{lunarFestival} #{solarFestival} #{jieqi}</b>" } C.innerHTML = Y(c, a); C.style.top = Z.offsetTop + Z.offsetHeight - 5 + "px"; C.style.left = Z.offsetLeft + Z.offsetWidth - 5 + "px"; C.style.display = "block" } function X() { C.style.display = "none" } return { show : function(Z) { G(Z) }, hide : function() { X() }, init : function(Z) { C = Z } } })(); 果然是这段的问题,应该是控制鼠标经过显示农历的,去掉就好了,但是鼠标经过没效果了,“回到今天”也没了。 var b=/([.*+?^=!:${}()|[\]\/\\])/g,Z="{".replace(b,"\\$1"),d="}".replace(b,"\\$1"); 就是这段正则表达式。
var X = M("top").getElementsByTagName("SELECT")[1];
var G = M("top").getElementsByTagName("SPAN")[0];
var c = M("top").getElementsByTagName("SPAN")[1];
var Y = M("top").getElementsByTagName("INPUT")[0];
就是这个样子。
那个htm直接在IE或者chrome里时能正常打开的,放到JSP里就不行了。
生成的HTML代码是什么?你是说JSP生成的代码?没有区别啊,我跟原来的HTM比较了。
生成的HTML代码是什么?你是说JSP生成的代码?没有区别啊,我跟原来的HTM比较了。贴出来看看
我用了几种方法:
1、把那个htm加上JSP的头,改成JSP格式,直接用或在另一个JSP里引用(包括两种clude和调用JS),都不行。
2、直接在JSP里加入htm代码,不行。
实在是不懂,能想到的办法都用了,就是不行,真崩溃,关键是单独打开htm时可以的啊。
import="java.util.*,java.text.*,com.dao.*,com.bean.*,javax.servlet.http.*"
contentType="text/html" pageEncoding="UTF-8" isErrorPage="true"
isELIgnored="false" deferredSyntaxAllowedAsLiteral="true"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>首页</title>
<%@ include file="top.jsp"%>
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="Keywords" content="keyword1,keyword2,keyword3" />
<meta http-equiv="Description" content="Index" />
<style>
.STYLE1 {
color: #FFFFFF;
font-size: 72px;
font-family: "华文新魏";
}
</style>
<style type="text/css">
<!--
.STYLE2 {
color: #FFFFFF;
}
--></head><body></body>
</html>这是我的首页,很简单,我就是把日历代码放到body中间,或者引用改成的JSP日历(就在htm前面加上JSP的头),或者引用JS,都不行。
应该不是引用JS的问题,把所有代码放到JSP里都不行的。表格能显示,说明表格那没问题,我觉得是不是早期的script和现在的JSP语法或者语句、算法不同的啊。
应该不是引用JS的问题,把所有代码放到JSP里都不行的。表格能显示,说明表格那没问题,我觉得是不是早期的script和现在的JSP语法或者语句、算法不同的啊。
一个是服务器语言,一个是客户端语言,不存在这个问题;还是你生成的HTML代码有问题。
说是这行有问题。
372: function Y(e,c){
373: if(arguments.length>1){
374: var b=/([.*+?^=!:${}()|[\]\/\\])/g,Z="{".replace(b,"\\$1"),d="}".replace(b,"\\$1");
375: var a=new RegExp("#"+Z+"([^"+Z+d+"]+)"+d,"g");
376: if(typeof (c)=="object"){
377: return e.replace(a,function(f,h){
var C;
function Y(e, c) {
if (arguments.length > 1) {
var b = /([.*+?^=!:${}()|[\]\/\\])/g, Z = "{".replace(
b, "\\$1"), d = "}".replace(b, "\\$1");
var a = new RegExp("#" + Z + "([^" + Z + d + "]+)" + d,
"g");
if (typeof (c) == "object") {
return e.replace(a, function(f, h) {
var g = c[h];
return typeof (g) == "undefined" ? "" : g
})
}
}
return e
}
function G(b) {
var a = Q.getJson().dateArray[b.dateIndex];
var Z = b.cell;
var c = "#{solarYear} 年 #{solarMonth} 月 #{solarDate} 日 #{solarWeekDayInChinese}";
c += "<br><b>农历 #{lunarMonthInChinese}月#{lunarDateInChinese}</b>";
c += "<br>#{ganzhiYear}年 #{ganzhiMonth}月 #{ganzhiDate}日";
if (a.solarFestival != "" || a.lunarFestival != ""
|| a.jieqi != "") {
c += "<br><b>#{lunarFestival} #{solarFestival} #{jieqi}</b>"
}
C.innerHTML = Y(c, a);
C.style.top = Z.offsetTop + Z.offsetHeight - 5 + "px";
C.style.left = Z.offsetLeft + Z.offsetWidth - 5 + "px";
C.style.display = "block"
}
function X() {
C.style.display = "none"
}
return {
show : function(Z) {
G(Z)
},
hide : function() {
X()
},
init : function(Z) {
C = Z
}
}
})();
果然是这段的问题,应该是控制鼠标经过显示农历的,去掉就好了,但是鼠标经过没效果了,“回到今天”也没了。
var b=/([.*+?^=!:${}()|[\]\/\\])/g,Z="{".replace(b,"\\$1"),d="}".replace(b,"\\$1");
就是这段正则表达式。