javascript - struts2 UpDownselect 未在表单提交时提供完整的有序列表

标签 javascript forms jsp struts2

我正在使用 Struts2 UpDownSelect 组件。 但是,当我提交表单而不是获取逗号分隔的排序列表时,我只得到列表中最后选择的一个元素。

JSp:

<div class="search-area">
    <s:form id="saveTableOrder" method="post" action="save-operator-table-order" name="tableOrderForm" >
        <div class="inputField">
            <s:select id="operatorSelect" name="selectedOperator" value="selectedOperator" key="operator" list="operators" listKey="operatorName" listValue="operatorName" labelposition="left" onChange="this.form.submit()"/>
        </div>

        <div class="inputField">

            <s:updownselect name="tableOrder" list="tablesOrder"  key="manageOrder" moveDownLabel="Down" moveUpLabel="Up" value="tableOrder" labelposition="left" ></s:updownselect>
        </div>

         <div class="submitButtons">
            <s:submit key="general.button.save" />
            <input id="operator-table-order-cancel" type="submit" name="action:cancel-operator-table-order" value="<s:property value="getText('general.button.cancel')"/>" />
        </div>

    </s:form>
</div>

Action 类:

public class ManageTableOrderAction extends BOActionSupport {



    private String tableOrder;

    private List<OperatorDTO> operators;

    private String selectedOperator;

    List<String> order = new ArrayList<>();


    @Override
    @SkipValidation
    public String execute() {
        init();
        return SUCCESS;
    }


    private void init() {
        //something
          order.add("one");
            order.add("one");
           .......
    }


    public String saveTableOrder() {
        if (tableOrder != null && !tableOrder.isEmpty()) {
            tableOrder = lobbyTableService.saveTableOrder(selectedOperator, tableOrder);
        }
        return SUCCESS;
    }


    public String cancelTableOrder() {
        return SUCCESS;
    }


    public List<OperatorDTO> getOperators() {
        init();
        return operators;
    }


    public void setOperators(List<OperatorDTO> operators) {
        this.operators = operators;
    }


    public String getSelectedOperator() {
        return selectedOperator;
    }


    public void setSelectedOperator(String selectedOperator) {
        this.selectedOperator = selectedOperator;
    }


    public String getTableOrder() {
        return tableOrder;
    }


    public void setTableOrder(String tableOrder) {
        this.tableOrder = tableOrder;
    }


    public List<String> getTablesOrder() {
       return order;
    }


    public void setTablesOrder(List<String> tablesOrder) {
        this.order = tablesOrder;
    }

现在当点击提交按钮时。我的表单已提交,但在 tableOrder 中我只获得列表的一个元素。 我期待以逗号分隔形式的完整列表。 我搜索了很多地方没有发现有人有同样的问题 预先感谢您的帮助。

最佳答案

您需要添加<s:head/>标记到您的 JSP,这会添加 Struts2 utils.js 。该文件包含 <s:updownselect> 所需的 javascript 函数。标签才能正常工作。

关于javascript - struts2 UpDownselect 未在表单提交时提供完整的有序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21458284/

相关文章:

带有 iPhone webview 的 Javascript 接口(interface)

javascript - 在angularJS中向数组添加另一个变量

jquery - DataTable分页删除表格

javascript - 如何从 javascript 函数写入 html?

javascript - 类型无效——需要一个字符串

javascript - HTML 表单中的 onClick JavaScript 函数

ruby-on-rails - 如何在保存到数据库之前更改表单字段值?

javascript - 如何将 HTML 页面加载到 JSP 中的 DIV 中(不加载任何内容)

java - 在 JSTL 中循环 bean 数组

java - 一个 Portlet 中的多个页面