将值添加到 arraylist(在 javascript 中)并在 struts2 操作中检索

Add values to arraylist(in javascript) and retrieve in struts2 action

本文关键字:并在 struts2 检索 操作 javascript 添加 arraylist      更新时间:2023-09-26

我希望JSP中的选定值存储在列表(javascript)中并在struts2操作中检索它们。

例如:如果我有以下值,我如何存储在列表(javascript)中并在操作中检索它们

下拉列表 - 下拉列表 - 文本字段

频道名称 - 赞 - 陈

通道类型 -

或 - 类型 2

我希望上述值存储在javascript列表中并在struts2中检索。

请帮我解决这个问题。

更新:JSP 代码

      <div class="row2">
<div class="left2">
        <select name="propType_1" id="propType_1">
           <option value="-1">Select property</option>
           <option value="3">keep-alive</option>
           <option value="2">transactionCapacity</option>
           <option value="1">capacity</option>
        </select>
</div>
<div class="left2">
        <select name="operType_3" id="operType_3">
            <option value="-1">Select operator</option>
            <option value="1">&amp;&amp;</option>
            <option value="2">Like</option>
            <option value="3">=</option>
        </select>
    </div>
    <div class="right2">
       <input type="text" name="prop1_value" value="" id="prop1_value"/>
    </div>
  <div class="clear"></div>
</div>

尽可能使用 Struts 标签(如果您可以从服务器端提供 List,则<s:select/>),并避免在变量名称中添加下划线。

在行动:

private List<String>  propValue;
private List<Integer> propType;
private List<Integer> operType;
/* GETTERS AND SETTERS */

在 JSP 中,如果迭代的源来自服务器端,或者您有一个已知的固定行:

<s:iterator begin="0" end="10" stat="ctr" >
    <select name="propType[<s:property value='%{#ctr.index}'/>]" >
       <option value="-1">Select property</option>
        <option value="1" >........</option>
    </select>
    <select name="operType[<s:property value='%{#ctr.index}'/>]" >
        <option value="-1">Select operator</option>
        <option value="1" >........</option>
    </select>
    <input type="text" name="propValue[<s:property value='%{#ctr.index}'/>]" />
</s:iterator>

如果行是可变的和/或使用JavaScript创建的,只需确保以variableName[index]格式使用相同的名称和索引创建它们,将您的索引作为javascript计数器处理。


顺便说一下,最好的选择是使用您的属性创建一个对象,并使用该对象的 List,而不是 n 个属性的列表:

行.java

public class Row {
    private String  propValue;
    private Integer propType;
    private Integer operType;
    /* GETTERS AND SETTERS */  
}

在行动:

private List<Row> rows;
/* GETTER AND SETTER */  

在 JSP 中:

<s:iterator value="rows" stat="ctr" >
    <select name="rows[<s:property value='%{#ctr.index}'/>].propType" >
       <option value="-1">Select property</option>
        <option value="1" >........</option>
    </select>
    <select name="rows[<s:property value='%{#ctr.index}'/>].operType" >
        <option value="-1">Select operator</option>
        <option value="1" >........</option>
    </select>
    <input type="text" name="rows[<s:property value='%{#ctr.index}'/>].propValue" />
</s:iterator>