有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Struts 2 s:提交按钮语法以在映射中设置值

我浏览了一些Struts 2代码,看到了提交按钮的语法,这是我以前从未见过的

<s:submit key="map.keyName$Value" />

它不再工作了(它曾与Struts 2.0.x一起工作,现在我们已经转移到Struts 2.2.3)。我的意思是,它没有根据地图中提到的键设置适当的值

以前有人用过这种语法吗

任何其他可以让我在映射中设置值的语法建议(仅使用struts标记)都是最受欢迎的

包含此代码的jsp页面被设计为一个解耦组件,可以在运行时由任何页面包含,这就是为什么此页面无法调用任何java代码来在java map中设置这些值——这就是为什么我正在寻找可以在map中设置值的标记解决方案

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    通过以下方式设置地图中的值:

    仅在JSP中

    OGNL分配声明:

    <s:set var="" value="map[key] = keyValue" /> 
    

    Java

    <s:set var="" value="map.put(key, keyValue)" /> 
    

    编辑

    您可以使用

    <s:hidden name="map[key]" value="keyValue" />
    

    通过带有onclick属性的提交按钮,例如(应答-假设多个提交按钮):

    <script type="text/javascript">
        function setMap(key, keyValue) {
            document.getElementById("mapToSet").name="map['" + key + "']";
            document.getElementById("mapToSet").value=keyValue;
        }
    </script>
    
    <s:hidden name="test" id="mapToSet" />
    <s:submit value="Search" onclick="setMap(key, keyValue)" />