OpenEMMの新規インストールで、一部のページにBeanエラーが表示される
-
05-07-2019 - |
質問
新しいopenemmインストールを樹脂サーバーに展開しました(依存性が非常に大きいため、樹脂は推奨されたデフォルトのアプリケーションサーバーですが、これは簡単ではありませんでした)。これが私たちのセットアップです:
- 最新のGentoo GNU / Linux
- OpenEMM 5.1.1(膨大な量の依存jarを含むソースからコンパイル)
- 127.0.0.1:8080の樹脂3.2.1
- 127.0.0.1:8080にトラフィックを転送するアクセラレータモードのSquidフロントエンド
この設定は正常に機能するようです。 OpenEMMのほぼすべてのページが機能します。しかし、「アクション」メニュー項目は次のエラーをスローします:
javax.servlet.ServletException: javax.servlet.jsp.JspException: No bean found under attribute key emmaction
エラーをスローする他のメニュー項目は、「受信者/概要」です。メニュー項目:
javax.servlet.ServletException: javax.servlet.jsp.JspException: Missing message for key "gender..short"
私は、Javaの展開にはかなり慣れています。どんな助けも大歓迎です。
更新:この問題については、すでにある程度の進展がありました。これらの問題はすべて、いくつかの変数が補間されるが空の値を含むために発生するようです。たとえば、$ {recipient.gender}は空の値に解決され、gender..short(" gender。$ {recipient.gender}から解決しようとします) .short")。コードスニペットは次のとおりです。
<display:column class="name" headerClass="head_name" titleKey="Salutation">
<bean:message key="gender.${recipient.gender}.short"/>
</display:column>
これは「display:table」でラップされます;そのように:
<display:table class="dataTable" pagesize="${recipientForm.numberofRows}"
id="recipient" name="recipientList" sort="external"
requestURI="/recipient.do?action=${ACTION_LIST}" excludedParams="*"
partialList="true" size="${recipientList.fullListSize}"
>
さらにデバッグを行う場所の手がかりはありますか?間違った動作を修正することを期待して、既にdisplaytagライブラリを1.2から1.1.1にダウングレードしましたが、それが間違ったポイントのように見えました。
解決
さて、最終的に樹脂を3.1.xからresin 3.0.xにダウングレードすることでこれを解決しました...一部の樹脂のライブラリとwebappサポートコードには互換性のない変更があるようです。これらはどれであり、最新の樹脂バージョンで動作するように修正する方法は、まだ謎のままです。