Я использую компонент Struts2 UpDownSelect. Но когда я отправляю форму вместо получения разделенного сортировкой списка запятой, я собираю только один элемент, который был последним выбран в списке.struts2 UpDownselect не указывая полный упорядоченный список в форме submit
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>
Класс действия:
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 я получаю только один элемент списка. Я ожидал, что полный список будет разделен запятой. Я много искал, где нашел никого, имеющего ту же проблему Заранее спасибо за помощь.
Какая версия Struts2? –
Версия: 2.3.15 – Coder