有没有办法让Eclipse WTP JSP编辑器将自定义标记库的主体视为JavaScript?
我编写了一个简单的标记库(称为有没有办法让Eclipse WTP JSP编辑器将自定义标记库的主体视为JavaScript?,javascript,jsp,eclipse-wtp,Javascript,Jsp,Eclipse Wtp,我编写了一个简单的标记库(称为Script),它获取其主体内容,将其包装在HTML元素中,并将其插入外部标记库(称为body)的底部。这是为了自动化的初始化。这意味着: <r:page> <r:head title='Test Site'/> <r:body> <div id='thing'></div> <r:script> $(function() { $('#thin
Script
),它获取其主体内容,将其包装在HTML
元素中,并将其插入外部标记库(称为body
)的底部。这是为了自动化的初始化。这意味着:
<r:page>
<r:head title='Test Site'/>
<r:body>
<div id='thing'></div>
<r:script>
$(function() {
$('#thing').html('DOM is ready');
});
</r:script>
</r:body>
</r:page>
$(函数(){
$('#thing').html('DOM已准备就绪');
});
呈现为以下HTML格式:
<!DOCTYPE html>
<!--[if IE 8]><html class='no-js lt-ie9' lang='en'><![endif]-->
<!--[if gt IE 8]><!--><html class='no-js' lang='en'><!--<![endif]-->
<head>
<meta http-equiv='content-type' content='text/html;charset=UTF-8' />
<title>Test Site</title>
<meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1'>
<link rel='stylesheet' href='/css/foundation.min.css'>
<script src='/js/vendor/custom.modernizr.js'></script>
<!--[if lt IE 9]><script src='http://html5shiv.googlecode.com/svn/trunk/html5.js'></script><![endif]-->
</head>
<body>
<div id='thing'></div>
<script>
document.write('<script src=/js/vendor/' + ('__proto__' in {} ? 'zepto' : 'jquery') + '.js><\/script>')
</script>
<script src='/js/foundation.min.js'></script>
<script>
$(document).foundation();
//The contents of the <r:script> from the JSP
$(function() {
$('#thing').html('DOM is ready');
});
</script>
</body>
</html>
试验场地
文件。写入(“”)
$(document.foundation();
//从JSP中删除的内容
$(函数(){
$('#thing').html('DOM已准备就绪');
});
现在这种方法的缺点是EclipseWTPJSP编辑器将脚本taglib的主体内容视为更多的HTML,因此我丢失了JavaScript语法突出显示。是否有某种方法(可能通过向
.tld
文件中添加信息或创建TagInfo
类来告诉JSP编辑器主体是一个JavaScript?或者是手动添加
元素的唯一方法(为了清晰起见,将自定义标记库重命名为类似于onFoundationReady
)。此外,为了让比我更聪明的人相信这一额外的努力是值得的,另一种选择是包括样板Zepto/jQuery加载器和$(document).foundation()
在每个页面的底部,当包括我也通过JavaScript SDK使用Facebook Connect这一事实时,这个标记库对我隐藏了大量的锅炉板代码)是和否。JSP规范中没有任何内容可以传达有关标签正文内容的任何相关信息,编辑器除了像处理页面的其他部分一样处理标签正文内容或将其视为“不干涉”之外,还可以使用这些信息
可以对WTP进行更改,以允许另一个Eclipse插件确定该区域的语法颜色,但我真的不知道这一特定功能是否值得为此付出努力。还有一个潜在的问题“为什么不使用一个常规的
元素呢?因为jQuery或Zepto是在底部加载的,任何尝试使用on-dom就绪快捷方式($(function(){});
)如果出现在
叹息中,将导致$is undefined
错误…知道这是不可能的,总比完全不知道和徒劳地搜索要好