我有xhtml文件(JSF应用程序),并且正在使用自定义列渲染数据表。
$(document).ready(function() {
$('#example').dataTable( {
"ajax": "/app_api/list/appsportfolio",
"columns": [
{ "data": "name" },
{ "data": "scenarioName" },
{ "data": "architecture" },
{ "data": "status" },
{ "data": "contact" },
{ "data": "id", "mRender": function(data, type, row) {
return "<ul id=\"menu\"> \
<li>Actions \
<ul> \
<li class=\"ui-state-disabled\">Views</li> \
<li>Item 3-2</li> \
<li class=\"ui-state-disabled\">Actions</li> \
<li>Item 3-4</li> \
<li>Item 3-5</li> \
</ul>\
</li>\
</ul>";
}}
]
} );
$( "#menu" ).menu();
} );
由于最后一个自定义列,我收到:
JBWEB000236:Servlet jsp的Servlet.service()引发异常:javax.faces.view.facelets.FaceletException:解析applicationPortfolioList.xhtml:错误已跟踪[行:111]与元素类型相关联的属性“ id”应使用引号引起来“ ul”。
我不明白为什么它抱怨报价,转义是否正确?
即使我将整个字符串放在同一行上,也会出现相同的错误。
更新:似乎如果我对整个字符串进行HTML编码,效果很好:
<ul id=\"menu\"> <li>Actions <ul> <li class=\"ui-state-disabled\">Views</li> <li>Item 3-2</li> <li class=\"ui-state-disabled\">Actions</li> <li>Item 3-4</li> <li>Item 3-5</li> </ul> </li> </ul>
但这看起来很丑。如果有人知道其他解决方案,请告诉我。
您必须使用
<![CDATA[
...
]]>
在代码中,如果要使用“ <”。看那里:https://developer.mozilla.org/zh-CN/docs/Writing_JavaScript_for_XHTML
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句