JSPX中的条件HTML属性
使用JSPX有条件地打印html属性的正确方法是什么?
这些都会在p标签上抛出validation错误:
/* first try */ hello
/* second one */ name="foobar" hello
元素类型“p”必须后跟属性规范,“>”或“/>”。 在org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
编辑:附加完整代码
hello
问题是Jasper在处理EL之前尝试validationJSP的良好forms。
发生这种情况是因为您的文件所谓的JSPX扩展意味着它是一个JSP文档。 JavaServer Pages规范说:
对于标识为JSP文档的文件而言,这是一个转换时错误,该文档不是格式良好的,名称空间感知的XML文档。
我找不到任何方法来指示Jasper禁用XML良好性validation。
如Tomcat docs中所述,预编译JSP文件的Ant任务已获得validateXml
参数。 但它只是跳过检查有效的XML ,而不是格式良好的XML 。
因此,您可以选择将文件重命名为JSP,或者将
到web.xml
,或者关注@ damo_inc的建议。
有点简单,但应该工作:
hello
Hello
编辑:
测试了这个:
hello
……它工作正常。 您的页面必定有问题。
编辑2:
这个工作正常:
hello
某些xmnls属性有问题。
我确实找到了办法。
我知道这是一个漫长的时间,因为这被问到,但认为有人可以从我的发现中受益。
我想这是一个完整的黑客,但它的工作原理。
看这个:
<div id="something1" class="hide" > something2 </div>
随着<
和>
标签未经过validation。
浏览器的源代码显示:
something2
从这里得到了主意。
希望有人觉得它很有用