尝试使用 JSPX 并遇到一个奇怪的问题。根据 JSP 文档,jsp:text 中的文本不应删除空格,但是当我在 tagx 文件的开头有一个带有前导空格的 jsp:text 元素时,当在 jspx 视图中使用时,前导空白消失。
我已经做了很多谷歌搜索,但找不到导致它被删除的原因。我已经验证了直接包含在 jspx 视图中的相同 jsp:text 实例可以正常工作,但是放入单独的 tagx 文件会导致它丢失。
这是在使用 JSP 2.1 库的 Jetty 6.1.19 和 6.1.22 下。
编辑:一些示例代码如下。请注意,<jsp:text>
标签内的前导和尾随空格被去除。从我可以看到的 JSP 文档来看,应该保留其中的空白。
WEB-INF/tabs/nameValuePair.tagx:
<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page">
<jsp:directive.attribute name="name" type="java.lang.String" required="true"/>
<jsp:directive.attribute name="value" type="java.lang.String" required="true"/>
<jsp:text> ${name}=${value} </jsp:text>
</jsp:root>
测试.jspx:
<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:t="urn:jsptagdir:/WEB-INF/tags">
<jsp:directive.page contentType="text/html; charset=ISO-8859-1" />
<html>
<head>
<title>Test</title>
</head>
<body>
<t:nameValuePair name="name" value="Google" />
<t:nameValuePair name="age" value="11" />
<t:nameValuePair name="description" value="Popular Search Engine" />
<jsp:text> test=value </jsp:text>
</body>
</html>
</jsp:root>
输出:
<html><head><title>Test</title></head><body>name=Googleage=11description=Popular Search Engine test=value </body></html>