【发布时间】:2017-01-02 16:12:35
【问题描述】:
我有一个带有表单的 portlet jsp。表单的内容被发送并存储到服务器。下次呈现带有 portlet 的站点时,表单会预填充先前选择的值。 这适用于一个例外:我的选择框之一:
JSP:
// get value chosen before:
<% String projectAssistant = ... %> // This get's the correct string value
<aui:select name="<%=// assistant name %>">
<c:forEach items="${iStaffList}" var="option">
<aui:option value="${option}" selected="${option==projectAssistant ? true : false }">${option}</aui:option>
</c:forEach>
</aui:select>
控制器:
ArrayList<String> staffList = _staffListAdapter.getStaffListAsStrings();
renderRequest.setAttribute("iStaffList", staffList);
这会导致一个预填充的选择框,其中包含我的ArrayList 中的所有选项。但是,当我从列表中的第一个选项中选择其他选项时,提交然后重新加载页面,再次预选第一个值而不是之前选择的值。
我有另一个从基本String[] 预填充的选择框,这很好用。这里是工作选择框的代码:
JSP:
// get project status
<% String projectStatus = .... %>
<aui:select name="<%= //projectStatus name %>">
<c:forEach items="${STATUS_OPTIONS}" var="option">
<aui:option value="${option}" selected="${option==projectStatus ? true : false }">${option}</aui:option>
</c:forEach>
</aui:select>
控制器:
renderRequest.setAttribute("STATUS_OPTIONS", ProjectStatusConstants.STATUUS);
在哪里
public class ProjectStatusConstants
{
public static String[] STATUUS = {"", "Draft", "Submitted", "Passed",
"Running", "Closed", "Rejected"};
}
我在 ArrayList 等方面做错了什么?
亲切的问候
编辑:忘了说正确的选择值会被发送回服务器...
【问题讨论】:
标签: java jsp arraylist foreach liferay