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,或者将falseweb.xml ,或者关注@ damo_inc的建议。

有点简单,但应该工作:

   

hello

Hello

编辑:

测试了这个:

 

hello

……它工作正常。 您的页面必定有问题。

编辑2:

这个工作正常:

  

hello

某些xmnls属性有问题。

我确实找到了办法。

我知道这是一个漫长的时间,因为这被问到,但认为有人可以从我的发现中受益。

我想这一个完整的黑客,但它的工作原理。

看这个:

 <div id="something1" class="hide"> something2 </div> 

随着<> 标签未经过validation。

浏览器的源代码显示:

 
something2

从这里得到了主意。

希望有人觉得它很有用