freemarkerのリクエスト属性から値をチェックするにはどうすればよいですか? 私は<の#if *の$ {RequestParameters [ 'servicesettings']} ??>を試みたが、エラーが出る - >freemarkerのリクエスト属性を取得する
が発生しました "*" 行
では、誰が助けることはできますか?
freemarkerのリクエスト属性から値をチェックするにはどうすればよいですか? 私は<の#if *の$ {RequestParameters [ 'servicesettings']} ??>を試みたが、エラーが出る - >freemarkerのリクエスト属性を取得する
が発生しました "*" 行
では、誰が助けることはできますか?
FreeMarker自体が要求パラメータを公開しないため、Webアプリケーションフレームワークによって異なります。 (フレームワークがFreeMarkerの拡張機能の一部であるfreemareker.ext.servlet.FreemarkerServlet
を使用している場合を除きます)また、通常は、MVCテンプレート、またはHTTP/Servlet固有のものから要求パラメータに直接アクセスしないでください。
エラーメッセージとして、あなたが書いたものに構文エラーがあります。おそらく<#if RequestParameters.servicesettings??>
を意味していたでしょう(JSPではありません)。${...}
-sをFreeMarkerタグ内で使用しないでください。これは
我々はこのように書く必要があります...あなたは、私は確実に知ることができないことを、データ・モデルにRequestParameters
を持っている必要があります:
${Request.requestattribute}
<#if RequestParameters.servicesettings ??> – zDroid
を使用でき
${requestParameters.servicesettings}.
JavaDoc of the FreemarkerServlet
による:
すべての要求、要求パラメータ、セッション、およびサーブレットのコンテキスト属性avaテンプレートには
Request
,RequestParameters
,Session
、Application
という変数があります。スコープ変数は、自動スコープ検出によっても利用できます。つまり、
Application.attrName
、Session.attrName
、Request.attrName
を書くことは必須ではありません。attrName
と書いても問題ありません。そのような変数がテンプレートに作成されていない場合は、Request
、次にSession
、そして最後にApplication
に変数を検索します。
あなたは簡単に書くことができます。
${attrName}
をrequest.setAttribute('attrName', 'value')
を使用してサーブレットリクエストフィルタに設定されている可能性があること(リクエスト属性の値を取得するには、Freemarkerの2.3.27-incubating
私のために働いてみました.-> Request.requestattribute;パラメータのリクエスト属性とRequestParameters.somevalueを返します。 – zDroid