<x:dataSourceSpec>

x:dataSourceSpec 操作用来指定使用 JDBC DataSource 连接至 JDBC 数据库所需的信息。然而,x:dataSourceSpec 操作不建立连接。它创建一个对象,可以使用 x:selectx:modifyx:procedureCallx:batch 操作引用该对象,或在 scriptlet 中对其进行引用。在处理那些操作时,会建立数据库连接。

语法

<x:dataSourceSpec
		 	id = "name"
			scope = "page|request|session"	
			initialContextFactory = "context_factory"
			providerURL = "protocol:subprotocol:subname"
			dataSource = "JNDI_Subcontext/logical_name"
			userid = "db_user"
			password = "user_password"
			passwordEncrypted = "true|false" />

x:dataSourceSpec 操作具有下列属性:

id
用来在指定名称空间中标识 DBConnectionSpec Bean 的名称,这也是它的脚本编制变量名。指定的名称区分大小写,且必须符合当前脚本语言的变量命名约定。
scope
用来定义对象的名称空间。缺省值为 page。
userid
一个必需的属性,它指定用于访问数据库的有效用户标识。保留您输入的大小写不变。
password
一个必需的属性,它指定用户标识的密码。保留您输入的大小写不变。
passwordEncrypted
一个可选属性,它指定 password 属性中指定的值是否已加密。缺省值为 false。 加密算法对底层 Bean 而言是唯一的。因此,要传送经过加密的密码,必须从能够对密码进行加密的工具获取密码。这样做的优点是 JSP 不包含可阅读的密码。
initialContextFactory
一个可选属性,它指定用于创建初始上下文的工厂类的类名,该初始上下文将用来定位指定的 dataSource。保留您输入的大小写不变。

如果未指定任何值,则缺省值为系统或环境变量“java.naming.factory.initial”中标识的类。

providerURL
一个可选属性,它指定用来配置与指定的初始上下文工厂相关联的命名服务提供程序的 URL。此字符串必须符合一般 URL 语法,但它的特定内容、用法和缺省值将随所使用的初始上下文工厂的不同而有所变化。保留您输入的大小写不变。
dataSource
一个必需的属性,它指定 dataSource 的 JNDI 名称。保留您输入的大小写不变。

示例

此示例使用 initialContextFactory 和 dataSource 属性来指定如何连接至数据库,并使用用户在运行时提供的用户标识和密码值。

<x:dataSourceSpec id="conn1"
	dataSource="jdbc/autosDatasource"
	userid='<%= request.getParameter("userid") %>'
	password='<%= request.getParameter("password") %>'>  />

反馈