Struts 2.3.15 を使用s:optionselecttransfer
していますが、JavaScript が読み込まれないためタグが機能しません。私が使う:
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:optiontransferselect ... />
次の JavaScript を生成します。
<script type="text/javascript" src="/struts/optiontransferselect.js"></script>
私の問題はconfigurationManager.reload()
、さまざまなプラグインに保存されているいくつかの追加の Struts2 XML 構成ファイルを読み込んだ後に Struts メソッドを呼び出すために発生します。呼び出しreload()
は、Struts による静的リソースの提供を停止します。私のリロードは次のように行われます:
ConfigurationManager configurationManager = dispatcher.getConfigurationManager();
StrutsXmlConfigurationProvider strutsXmlConfigurationProvider =
new StrutsXmlConfigurationProvider(strutsXMLLocation, false, getServletContext());
configurationManager.addContainerProvider(strutsXmlConfigurationProvider);
configurationManager.reload();
この問題を解決するために、ファイルをorg.apache.struts2.static
サーバー ルートにコピーしてアクセスできるようにし、Roman C のコードを使用して Struts が静的リソースを提供するのを防ぎました。これによりs:optionselecttransfer
、ブラウザがタグの JavaScript を検出できるようになります。
a が静的リソースの提供を妨げる理由について誰かが推測できる場合はreload()
、修正を試みたいと思います。他にアイデアがない場合は、Roman C のソリューションを受け入れます。