我正在嘗試使用JSTL掛接到Oracle數據庫。我有它的工作,但不是我想要的方式。 (用於用戶名和密碼的值必須在實際的程序不同的數值,但我不希望公開分享)/如何從JSTL中的Java類訪問靜態變量?
<c:set var="DRIVER" value="oracle.jdbc.OracleDriver" scope="request" />
<c:set var="URL" value="dbc:oracle:thin:@localhost:1521:xe" scope="request" />
<c:set var="USER" value="REDACTED" scope="request" />
<c:set var="PASSWORD" value="REDACTED" scope="request" />
<sql:setDataSource var="dbDataSource" driver="${DRIVER}" url="${URL}"
user="${USER}" password="${PASSWORD }" />
所以它的工作,但我不喜歡使用這些字符串文字。我在另一個Java類中設置了一些靜態final int變量,它們保存這些值,以便在需要時可以在一個位置更改它們。我無法弄清楚如何在我的JSP文件中訪問這些常量。
我試圖用一個bean,然後設置一個JSTL變量:
<%@ page import="myPackage.dbInfo" %>
<jsp:useBean id="dbInfoBean" scope="request" class="myPackage.dbInfo"></jsp:useBean>
我的班「DBINFO」包含了DRIVER變量的定義如下。
public static final String ALSODRIVER = "oracle.jdbc.OracleDriver";
最後取代了第一這些領域的作爲,例如:
<c:set var="DRIVER" value="${dbInfoBean.DRIVER}" scope="request" />
當我嘗試運行JSP,這是行不通的。我收到錯誤:
org.apache.jasper.JasperException: An exception occurred processing JSP page /authorize_registrations.jsp at line 13
12:
13: <c:set var="DRIVER" value="${dbInfoBean.ALSODRIVER}" scope="request" />
14: <c:set var="URL" value="dbc:oracle:thin:@localhost:1521:xe" scope="request" />
15: <c:set var="USER" value="REDACTED" scope="request" />
16: <c:set var="PASSWORD" value="REDACTED" scope="request" />
我在做什麼錯?如果必須的話,我會使用字符串文字(正在工作),但是如果我可以避免的話,我並不是瘋狂的。
答案有沒有幫助? –
是的,謝謝。我忘了回到它現在。我不熟悉這個主板上的UI ....有沒有一個按鈕,我應該點擊「接受」它? – mstabosz