Eclipse の esapi4java-core-2.0-install-guide.pdf に従い、Websphere 7.5 環境に適用しています。
ステップ 1 - ライブラリに esapi.jar を追加しました ([プロジェクト] > [プロパティ] > [Java ビルド パス] > [ライブラリ] タブ > [外部 JAR の追加])。
ステップ 2 - マシンのフォルダーに esapi & validation .properties ファイルを配置しました。
ステップ 3 - すべての実行構成に esapi を追加することを選択しました (Windows > Preferences > Java > Installed JREs)。WebSphere Application Server v7.0 JRE を強調表示し、[編集] を選択して、そのライブラリ リストに esapi.jar を追加しました。同じフォームで、-Dorg.owasp.esapi.resources="/path/to/.esapi" 引数を Default VM Arguments プロンプトに追加しました。これは、esapi および検証 .properties ファイルが配置されている場所へのパスです。
失敗する JSP ページのコードは次のとおりです。
<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ page import="java.net.*" %>
<script type="text/javascript" language="javascript">
function validateForm()
{
var userURL = "http://www.google.com";
var isValidURL = ESAPI.validator().isValidInput("URLContext", userURL, "URL", 255, false);
if (isValidURL) {
alert("true");
} else {
alert("false");
}
}
</script>
このコードを実行すると、次のエラーが表示されます: 'ESAPI' is undefined (これは var isValidURL ステートメントで発生します)。
私は何が欠けていますか?