jspx是JSP 2.0中的一项重要的功能提升,jspx其实就是以xml语法来书写jsp的文件。我们知道jsp的格式,其中有一个重要的特征就是包含“<%”声明符,jsp文件通常在服务器端处理后呈现为html代码,尽管jsp通常的目的是处理web页面,但是jsp的代码呈现却不是我们希望的html或xml格式,代码非常混乱,这也是为什么出现jspx啦。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
2) jspx页面中的一些不符合xml规范的html元素也需要进行规范化。
3) 让web container识别jspx,编辑Tomcat的conf目录下的web.xml文件,加入如下内容.
<jsp-config>
<jsp-property-group>
<display-name>books</display-name>
<url-pattern>*.jspx</url-pattern>
<el-ignored>false</el-ignored>
<scripting-invalid>false</scripting-invalid>
<is-xml>true</is-xml>
</jsp-property-group>
</jsp-config>
需要指出的是,jspx在客户端输出的xml格式是不进行dtd验证的。
4) 在jspx中,我们完全看不到了我们熟悉的“<%”和“%>”符号,因为这两个符号和xml格式完全不兼容的,如果你想使用jsp scriptlet,你可以使用“<jsp:scriptlet>”进行操作。原来的taglib声明现在全部转换为xml的命名空间(namespace),taglib的使用也非常方便。如果是开发web页面,jspx完全就是html代码,只是在页面之前加入了jsp:root的声明。Jspx的编写是非常方便的,下面我们就介绍一下实际开发中如何去编辑jspx文件。使用Dreamweaver编辑jspx:这里我们将jspx完全作为html去对待,Dreamweaver默认没有针对jspx后缀名的文件进行编辑关联,我们只需打开%DREAMWEAVER_HOME%\Configuration\DocumentTypes\MMDocumentTypes.xml文件,在id为“html”的documenttype元素的“winfileextension”属性值中添加jspx即可,当我们打开jspx文件时,只需按照普通的html文件编辑即可,利用Dreamweaver出色的可视化的界面设计,这种编辑方式比编辑jsp文件方便多啦。
示例:
demo.jsp
<%@page contentType="text/html;charset=gb2312" %>
<%@page import="java.util.*" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>my demo jsp</title>
</head>
<body>
<%
Date now=new Date();
out.println(now.toString());
%>
</body>
</html>
demo.jspx
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:c="http://java.sun.com/jsp/jstl/core" version="1.2">
<jsp:directive.page contentType="text/html" pageEncoding="gb2312"/>
<jsp:directive.page import="java.util.Date"/>
<html>
<head>
<title>my demo jspx</title>
</head>
<body>
<jsp:scriptlet>
Date now = new Date();
out.println(now.toString());
</jsp:scriptlet>
</body>
</html>
</jsp:root>
相关推荐
jspx实际上是JSP 2.0标准的一个扩展,它引入了XML语法来编写JSP文件,从而改善了代码可读性和组织性。在传统的JSP中,代码常常混杂在HTML中,导致代码混乱不易维护。jspx文件则严格按照XML规范,使得页面结构清晰,...
通过系统漏洞上传jspx文件,远程执行脚本命令;执行命令如: https://www.qcure.com//qcure/upload/default/20200227163110284_p7ngl.jspx?str=bHM=y 主要是是后面的:*.jspx?str=bHM=y
JSPX允许开发者使用XML语法来创建动态网页,提供更清晰的结构和可读性。 【描述】"ciao_jspx_164.zip" 的描述为空,我们无法直接获取更多信息,但可以推测它可能包含一些用于教学、项目或示例代码的资源。 【标签...
**JSP(Java Server Pages)基础语法** JSP是Java技术在Web开发中的一个重要组成部分,它是一种动态网页技术,允许开发者将HTML、CSS、JavaScript与Java代码混合编写,以实现服务器端的动态网页生成。本教程将深入...
printShow.jspx
**JSP语法基础** 1. **JSP页面结构**:一个JSP页面由两部分组成——静态内容(HTML、CSS、JavaScript)和动态内容(Java代码)。JSP页面的后缀通常为`.jsp`或`.jspx`。 2. **指令(Directives)**:JSP页面中的...
JSPX是Java Web RAD框架。 它基于Servlet,并将其非常有限的性质扩展到完全OOP Java API以控制HTML并在非常快的开发时间内创建高级Web应用程序。 JSPX可在所有Web /应用程序服务器上使用。
513实际生活中的反比例函数_课件12jspx.ppt
WebShell三剑客(ASPXSPY、PHPSPY、JSPSPY) 之一 下载时可能被杀毒软件误杀
JDGR2022-CY-X011-1澄清文件.JXCF.jspx
考点11了解丝绸之路和隋朝大运河的概况jspx.ppt
小原焊机 JSPX-05-0048 SIV32-M 系列控制器介绍 V1.2 小原焊机 JSPX-05-0048 SIV32-M 系列控制器是一款高性能的焊接控制器,具有多种功能和特点。本控制器支持多种通讯协议,包括PROFINET、EtherNet/IP、DeviceNet...
2. Web基础知识:了解HTTP协议、Web服务器的工作原理以及HTML和CSS的基础。 3. Servlet:作为JSP的基础,Servlet是Java Web编程的核心,理解其原理和用途。 4. 开发环境:如安装和配置Java Development Kit (JDK)、...
1. "xml.docx":可能包含XML(Extensible Markup Language)的基础知识,因为XML经常与JSP一起使用,作为数据交换格式或存储配置信息。 2. "Tips.docx":可能是一份JSP编程技巧或最佳实践的文档,对于提升编码效率...
套开源的 Jspx.net Framework (简实构架)是一套开源的java一体化构架,丢掉了jsp编译的烦恼和使用tag的麻烦, 完整的架构体系,包括了ui、ioc、cache、连接池、验证、模板、数据库查询更新,工作流等丰富功能,最少的赖...
#jBraxt-支架的Jspx扩展 创建此扩展名是为了使构建Jspx页面更加容易。 它: 包含jspx非标准标记(DataTable,ListTable,AutoComplete,Datalookup等)的提示。 添加有用的快捷方式以打开Controller Java文件。 ...
一、SQL注入基础 1. **SQL注入原理**:当用户输入的数据未经验证或转义直接拼接到SQL查询语句中,攻击者可以通过构造特定的输入,使得SQL语句执行非预期的操作,如读取、修改、删除数据库记录。 2. **危害**:数据...