jspx是JSP 2.0中的一项重要的功能提升,jspx其实就是以xml语法来书写jsp的文件。我们知道jsp的格式,其中有一个重要的特征就是包含“<%”声明符,jsp文件通常在服务器端处理后呈现为html代码,尽管jsp通常的目的是处理web页面,但是jsp的代码呈现却不是我们希望的html或xml格式,代码非常混乱,这也是为什么出现jspx啦。
jspx完全符号xml语法规范,这种规范化会带来很多的好处,我们编码会方便很多,如xml形式方便代码格式化,便于编辑呈现。
jspx:以xml语法来书写jsp的文件,自定义的映射类型, jspx = jsp + XML
A JSP document is a JSP page written in XML syntax as opposed to the standard syntax described.Because it is written in XML syntax, a JSP document is also an XML document and therefore gives you all the benefits offered by the XML standard.
jspx文件本身符合xml的规范, 但是它自己本质又是一个jsp文件, 因为在所有jsp里边能够做到的事情在jspx里边同样也可以做到。如果熟悉jsp的语法, 那么将一个jsp转变为一个jspx很容易, 只需要做下面的几个步骤。
1) 由于在jsp语法里边已经有很多的元素是符合xml规范的, 比如<jsp:getProperty name=“date” property=“hours”/>,所以只需要将那么不符合xml规范的tag替换掉就可以了。不符合规范的有(主要的):
<%@ include .. %> <jsp:directive.include .. /> <%@ page .. %> <jsp:directive.page .. />
<%@ taglib .. %> xmlns:prefix="tag library URL"
<%= ..%> <jsp:expression> .. </jsp:expression>
<% ..%> <jsp:scriptlet> .. </jsp:scriptlet>
右边是jspx中的替代方法, 除此之外, jspx还另外新加了几个element: jsp:root用于处理多个root元素的时候。 jsp:text格式化text的时候, 还有显示普通el的时候 jsp:element和jsp:attribute用来自动产生一个tag jsp:output用来输出declaration
3)让web container识别jspx 在web.xml里边需要对jspx进行设置, 示例为: books *.jspx false false true
需要指出的是,jspx在客户端输出的xml格式是不进行dtd验证的。