2016-07-19 25 views
0

:サービスのプロパティのOSGiのHttpホワイトボードパターン

<jsp-config> 
     <jsp-property-group> 
     <url-pattern>*.jsp</url-pattern> 
     <el-ignored>true</el-ignored> 
     </jsp-property-group> 
</jsp-config> 

私は以下試しましたソリューションが動作しません。

<bean id="jspServlet" class="com.test.servlet.web.servlet.TestJSPServlet"/> 

<osgi:service ref="jspServlet" interface="javax.servlet.Servlet" > 
    <osgi:service-properties> 
     <entry key="osgi.http.whiteboard.filter.name" value="JSPServlet" /> 
     <entry key="osgi.http.whiteboard.servlet.pattern" value-ref="jspPatternsList"/> 
     <entry key="osgi.http.whiteboard.context.select" value="(osgi.http.whiteboard.context.name=cb)" /> 
     <entry key="servlet.init.el-ignored" value="true" />  
    </osgi:service-properties> 
</osgi:service> 
+0

どのOSGi Httpホワイトボード実装を使用していますか?フェリックスワン? –

+0

はい、apache felix – sandy

答えて

0

もう一度チェックしましたが、私が完全に間違っていないと、OSGi仕様ではJSPをある種の方法で処理しません。だからあなたがそこでやろうとしていることは、Apache Felixの実装では機能しません。

HttpホワイトボードのアプローチでJSPを動作させる唯一の方法は、Pax - Webプロジェクトに切り替えることです。 Whiteboardのアプローチ(仕様の準拠はまだ進行中です、6.0.0-SNAPSHOT)だけでなく、現在の仕様にも対応しています。

次はパックス・ウェブで必要とされたいものを達成するには、次の

<!-- JSP handling --> 
<service id="jspMapping" interface="org.ops4j.pax.web.extender.whiteboard.JspMapping"> 
    <bean class="org.ops4j.pax.web.extender.whiteboard.runtime.DefaultJspMapping"> 
     <property name="urlPatterns"> 
      <array> 
       <value>/jsp</value> 
      </array> 
     </property> 
    </bean> 
</service> 

例はまた、PAX-Webプロジェクトのsamplesで見つけることができます。

+0

ありがとう@Achim Nierbeck、質問が発生した場合は、pax-web – sandy

+0

を試します。ops4jメーリングリスト(https://groups.google.com/forum/#!forum/ops4j)にお問い合わせください。 –