同じサーバーにいくつかの Web アプリをデプロイしています。app2 からアクセスしたい app1 に JSP があります。Tomcat でクロス コンテキスト アクセスを有効にして、次の JSTL タグを試しました。
<c:import url="/pages/myJSP.jsp" context="/app1" />
はmyJSP.jsp
いくつかの struts2 タグ自体を使用します。
また、必要なライブラリが app1 と app2 の両方の lib ディレクトリにあることも確認しました。ただし、実行時に app2 のページがレンダリングされず、次のエラーが表示されます。
原因: java.lang.ClassCastException: com.opensymphony.xwork2.ognl.OgnlValueStack は org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java: 53) org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44) で org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48) で
理由はありますか?jsp を app2 にコピーし、同じ c:import タグを使用して参照すると、問題なく動作します。