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 のソリューションを受け入れます。