You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Shell的SingleItemSelector在Windows控制台失效,Ubuntu终端正常

Spring Shell SingleItemSelector在Windows控制台异常问题

使用Spring Shell的SingleItemSelector组件实现选项列表等待用户选择功能,该功能在Ubuntu终端可正常运行,但在Windows控制台中不会等待用户操作,直接获取null值作为输入。推测原因是Windows控制台在用户按下回车执行命令后直接读取了输入。

代码示例

@ShellMethod(key = "single", value = "Single selector")
public String singleSelector() {
    SelectorItem<String> i1 = SelectorItem.of("key1", "value1");
    SelectorItem<String> i2 = SelectorItem.of("key2", "value2");
    List<SelectorItem<String>> items = Arrays.asList(i1, i2);
    SingleItemSelector<String, SelectorItem<String>> component = new SingleItemSelector<>(getTerminal(),
            items, "testSimple", null);
    component.setResourceLoader(getResourceLoader());
    component.setTemplateExecutor(getTemplateExecutor());
    SingleItemSelector.SingleItemSelectorContext<String, SelectorItem<String>> context = component
            .run(SingleItemSelector.SingleItemSelectorContext.empty());
    String result = context.getResultItem().flatMap(si -> Optional.ofNullable(si.getItem())).get();
    return "You have selected: " + result;
}

运行效果

Linux下运行效果

Linux下运行效果

Windows下运行效果

Windows下运行效果

内容的提问来源于stack exchange,提问作者Tommy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 05:32:10