字符串输入
字符串输入组件要求用户提供简单的文本输入,并且可以选择在内容包含敏感信息时对值进行屏蔽。以下示例展示了这一点:
@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();
}
}
以下屏幕录制显示了字符串输入组件的典型输出:
上下文对象是 StringInputContext
。下表列出了它的上下文变量:
表 1. StringInputContext 模板变量
Key | 描述 |
---|---|
defaultValue | 如果设置,则为默认值。否则,为 null。 |
maskedInput | 被遮罩的输入值 |
maskedResultValue | 被遮罩的结果值 |
maskCharacter | 如果设置,则为遮罩字符。否则,为 null。 |
hasMaskCharacter | 如果设置了遮罩字符,则为 true 。否则,为 false。 |
model | 父上下文变量(参见 TextComponentContext 模板变量)。 |