【问题标题】:Struts2 dynamic columns in iterator迭代器中的Struts2动态列
【发布时间】:2016-02-21 08:16:52
【问题描述】:

我有一个选择框,

    <table>
    <tr><td>
    <s:select id = "mode" list="#{'0':'SELECT','A':'ABC','B':'XYZ'}" > </s:select>
   </td></tr>
    </table>

基于从此选择框中的选择,我需要使列动态:

<table>
<tr>
<td><div align="center">Serial Number</div></td>
<td><div align="center">Employee Number</div></td>
<td id="name"><div align="center">Employee Name</div></td>
</tr>

<s:iterator status="stat" value="empList" id="empList">
 <tr>
    <td><div align="center"><s:property value="%{#stat.count}"/></div></td>
    <td><div align="center"><s:property value="empNum" /></div></td>
    <td><div align="center"><s:select id="nameList%{#stat.index}" list="#{'A':'ABC','B':'XYZ'}" > </s:select></div></td>
</tr>
 </s:iterator>
</table>

我使用的脚本是这样的:

<script>
        var mode = document.getElementById("mode");
        var selMode = mode.options[mode.selectedIndex].value;
        var cnt = document.getElementById("rowCnt").value;
        if(selMode=="A"){

            for(i=0;i<=cnt;i++){
            var name = document.getElementById("name");
            name.style.display = "none";
            var lname = document.getElementById("nameList"+i);
            lname.style.display = "none";

            }
        }
        else{

            for(i=0;i<=cnt;i++){
            var name = document.getElementById("name");
            name.style.display = "block";
            var lname = document.getElementById("nameList"+i);
            lname.style.display = "block";
            }
        }
    </script>

但是使用 id="nameList%{#stat.index}",它只会使选择框动态化,我想让整个列动态化。

<td id="nameList%{#stat.index}"><div align="center"><s:select  list="#{'A':'ABC','B':'XYZ'}" > </s:select></div></td>

不工作。似乎 %{#stat.index} 的值不能作为列 ID 传递。

有没有其他方法可以让整列动态化?

【问题讨论】:

    标签: javascript struts2 ognl


    【解决方案1】:

    你不能在没有 Struts 标签的情况下使用 OGNL。要打印 OGNL 表达式的值,您应该使用 s:property 标签。

    <td id="<s:property value='nameList%{#stat.index}'/>"><div align="center"><s:select  list="#{'A':'ABC','B':'XYZ'}" > </s:select></div></td>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      相关资源
      最近更新 更多