对于最新的稳定版本,请使用 Spring Shell 3.3.3spring-doc.cn

字符串输入

字符串输入组件要求用户提供简单的文本输入,并可选择屏蔽值 如果内容包含敏感内容。下面的清单显示了一个示例:spring-doc.cn

@ShellComponent
public class ComponentCommands extends AbstractShellComponent {

	@ShellMethod(key = "component string", value = "String input", group = "Components")
	public String stringInput(boolean mask) {
		StringInput component = new StringInput(getTerminal(), "Enter value", "myvalue");
		component.setResourceLoader(getResourceLoader());
		component.setTemplateExecutor(getTemplateExecutor());
		if (mask) {
			component.setMaskCharacter('*');
		}
		StringInputContext context = component.run(StringInputContext.empty());
		return "Got value " + context.getResultValue();
	}
}

以下截屏视频显示了字符串输入组件的典型输出:spring-doc.cn

上下文对象是 .下表列出了其 context 变量:StringInputContextspring-doc.cn

表 1.StringInputContext 模板变量
钥匙 描述

defaultValuespring-doc.cn

默认值 (如果已设置)。否则为 null。spring-doc.cn

maskedInputspring-doc.cn

掩码输入值spring-doc.cn

maskedResultValuespring-doc.cn

掩码结果值spring-doc.cn

maskCharacterspring-doc.cn

遮罩字符(如果已设置)。否则为 null。spring-doc.cn

hasMaskCharacterspring-doc.cn

true如果设置了掩码字符。否则为 false。spring-doc.cn

modelspring-doc.cn

父上下文变量(请参阅 TextComponentContext 模板变量)。spring-doc.cn