2

私の同僚はnetbeansを使用していますが、そのために以下が正常に検証されます。

<jsp:include page="/somepage.jsp?parameter=value"/>

まだ日食で私は得る

選択したパスにフラグメントが見つかりませんでした

これは、以下が正常に検証されるため、パラメーターの追加と関係があります。

<jsp:include page="/somepage.jsp"/>

これを修正する方法はありますか?

4

4 に答える 4

4

<jsp:param>リクエストパラメータを渡すために使用する必要があります。

<jsp:include page="/somepage.jsp">
  <jsp:param name="parameter1" value="value1"/>
</jsp:include>
于 2012-09-24T09:37:53.370 に答える
3

別のJSPページへのパラメーターの受け渡しインクルードアクション(JSPページへのファイルのインクルードを参照)は、インクルードされたJSPページを実行し、生成された出力を独自の出力ストリームに追加します。URLのクエリ文字列から解析されたリクエストパラメータは、メインのJSPページだけでなく、含まれているすべてのJSPページでも使用できます。JSPページを呼び出すときに、リクエストパラメータを一時的に上書きしたり、新しいリクエストパラメータを一時的に導入したりすることができます。これは、jsp:paramアクションを使用して実行されます。

この例では、param1はクエリ文字列で指定されており、呼び出し先のJSPページで自動的に使用可能になります。param2もクエリ文字列で指定されますが、呼び出し元によってオーバーライドされます。呼び出し後、param2が元の値に戻ることに注意してください。param3は、呼び出し元によって作成された新しい要求パラメーターです。param3は呼び出し先のみが使用でき、呼び出し先が戻ると、param3は存在しないことに注意してください。呼び出し元のJSPページは次のとおりです。

<html>
<head></head>
<body>

<jsp:include page="callee.jsp" />
   <jsp:param name="param2" value="value2" />
   <jsp:param name="param3" value="value3" />
</jsp:include>

Caller:
param1: <%= request.getParameter("param1") %>
param2: <%= request.getParameter("param2") %>
param3: <%= request.getParameter("param3") %>

</body>
</html>

呼び出されているJSPページは次のとおりです。

呼び出し先:

param1: <%= request.getParameter("param1") %>
param2: <%= request.getParameter("param2") %>
param3: <%= request.getParameter("param3") %>

例がURLで呼び出された場合:

http://hostname.com?param1=a&param2=b

出力は次のようになります。

呼び出し先:

param1:a

param2:value2

param3:value3

発信者:

param1:a

param2:b

param3:null

http://www.exampledepot.com/egs/javax.servlet.jsp/caller.jsp.htmlにアクセスします

于 2012-09-24T11:24:49.913 に答える
0

Eclipseは、含まれているファイルの名前が「somepage.jsp?parameter = value」であると見なしますが、これはもちろん存在しません。パスの解析/検証に使用するメカニズムはEclipseよりも優れているため、NetBeansで正常に検証されます。

Eclipseのエラーは誤検知です(「somepage.jsp」が実際に予期された場所に存在すると想定)。これは、JSPコンパイラがパスを正しく解釈し、「parameter=value」をパラメータとしてインクルードされたJSPにインクルードするためです。 :

${param.parameter}また${param['parameter']}

于 2017-08-03T17:04:06.270 に答える
0

urlのパラメーターを使用する場合は、Eclipseの「JSPSyntaxValidator」を無効にします。

プロジェクトの右クリック->プロパティ->検証

ここに画像の説明を入力してください

プロジェクト固有の設定、上のチェックボックスを必ず有効にしてください。それ以外の場合は、デフォルト設定になります。

于 2019-03-30T10:02:50.137 に答える