jsf - 如何将默认值设置为 <h :selectOneMenu>

标签 jsf jsf-2

我正在尝试将默认值设置为 h:selectOneMenu。但是,它不起作用。

这是我的代码

index.xhtml

<h:body>
        <h:form id="test">
        <h:selectOneMenu value="#{selectMenuBean.selectedItem}"
                         title="select version"
                         onchange="submit()"
                         disabled="false" id="combo">

            <f:selectItems value="#{selectMenuBean.selectItems}" />
        </h:selectOneMenu>

        </h:form>
    </h:body>

BackingBean

private String selectedItem;
private List selectItems;
private int version=3;

public List getSelectItems() {

    List<Version> selectedItems = ExportDao.getVersionsList();
    System.out.println("List size: "+selectedItems.size());
    selectItems = new ArrayList();

    for (Version v1 : selectedItems) {
        String DATE_FORMAT = "yyyy-MM-dd HH:mm";
        //Create object of SimpleDateFormat and pass the desired date format.
        SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
        selectItems.add(new SelectItem(v1.getVersion(), "V" + v1.getVersion() + "/" + sdf.format(v1.getDate())));
        if(version = v1.getVersion()) // I have to check the version and set the matching version as selected.
        selectedItem = "V" + v1.getVersion() + "/" + sdf.format(v1.getDate());

    }
    return selectItems;
}

最佳答案

您正在使用项目标签而不是项目值设置 selectedItem

替换

selectedItem = "V" + v1.getVersion() + "/" + sdf.format(v1.getDate());

通过

selectedItem = v1.getVersion();

关于jsf - 如何将默认值设置为 <h :selectOneMenu>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5865296/

相关文章:

java - 奇怪的问题 : jsf inside jsp not working

java - Datatable 如何保存我编辑的值

jsf - Primefaces 5.1 日历弹出窗口不执行 valueChange 事件

java - 通过单击行中的按钮获取 primefaces 数据表中的行号

jsf - 命令按钮在第二次按下时调用操作 (jsf)

maven - 添加FaceletContext jsf maven时无法解决javax.el.E​​LContext错误

jsf-2 - ViewExpiredException:找不到已保存的 View 状态:在 JSF 中提交表单时

css - 如何使用 CSS 填充设置 primefaces 数据表列填充

javascript - 拖放 modalPanel 的内部

security - JSF 2.0 如何防止 CSRF