You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2002/07/11 14:50:18 UTC
DO NOT REPLY [Bug 10683] New: -
some problems with JSP documents in xml syntax
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10683>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10683
some problems with JSP documents in xml syntax
Summary: some problems with JSP documents in xml syntax
Product: Tomcat 4
Version: Unknown
Platform: PC
OS/Version: Windows NT/2K
Status: NEW
Severity: Normal
Priority: Other
Component: Jasper 2
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: wtff@freenet.de
Usually I use normal jsp syntax but I now tried out the xml compliant syntax
form and found three peculiarities. My estimation is that these are due to bugs
within jasper but since I am not an expert on the xml-like jsp form, I'm
insecure. Well, I would like to post a little example that depicts the three
things that might be bugs. Within this example I also explain each bug and give
reference to the paragraphs within the JSP 1.2 specification if I can.
The three issues I have are:
a) treatment of xml comments
b) treatment of mixed element content when taglib elements are involved
c) attribute expression evaluation
I am pretty sure that b) is a bug. a) is a low prio thing and c) is a blocker
for me.
But see the following example for details.
(If you also want to run it, you will need to have the EL-based JSTL core
taglib installed.)
<jsp:root
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jstl/core" >
<html>
<body>
<ul>
<li>
Request time attribute expressions don't seem to work
in jsp documents, or maybe I'm doing sth. wrong.
According to the JSP spec. paragraph 5.3.11, the quoting
convention used in jsp documents is as follows:
<a href="%= response.encodeURL('thispage.jsp') %">
However, the expression inside the href attribute
is not being evaluated.
</a>
<br />
</li>
<li>
If an xml element contains mixed content, e.g. plain text
and other xml elements, then the resulting output is not
correct in every case. If plain text is directly preceding
a taglib element, then the taglib output is written to the
jsp-outputstream prior to the plain text.
For example, note that the following JSTL tag should deliver
its output behind this text here, but within the webpage the
taglib output will appear first.
<c:out value="THIS TEXT SHOULD NOT APPEAR FIRST." />
<br />
If however the plain text preceding a taglib element is
interleaved with other xml elements, as it is done here, then
everything works fine again.
<br />
<c:out value="TAGLIB TEXT" />
See ? (And plain text behind a taglib element is also save.)
<br />
</li>
<li>
In the resulting page, the javascript at the end of this page
is missing. The comment around the javascript part is needed
by some browsers. I could place the body of the
script element into a CDATA section but I believe
that it is a bug to erase xml comments from the
source page. Also, if I would just place a jsp:text
element arount the javascript, this would also
erase the xml comment. Unfortunately the JSP spec
doesn't explicitly mention the treatment of xml comments
and whether they should be erased or not.
In addition to that it is a pity that the SAX API's
don't really report the occurence of xml comments.
Only the org.xml.sax.ext.LexicalHelper does, but it
is an optional extension to SAX2 and can only be plugged
in as an attribute to the parser. ;(
</li>
</ul>
</body>
<script language="javascript">
<!--
function veryImportantFunction()
{
alert("An xml-comment is an xml-comment and may not be skipped.");
}
//-->
</script>
</html>
</jsp:root>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>