字符串输入
字符串输入组件会提示用户输入简单的文本,如果内容包含敏感信息,可以选择性地屏蔽值。以下列表显示了一个示例。
@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
。下表列出了其上下文变量。
键 | 描述 |
---|---|
|
如果设置了默认值,则为默认值。否则为 null。 |
|
屏蔽的输入值 |
|
屏蔽的结果值 |
|
如果设置了屏蔽字符,则为屏蔽字符。否则为 null。 |
|
如果设置了屏蔽字符,则为 |
|
父上下文变量(参见TextComponentContext 模板变量)。 |