字串輸入

字串輸入元件要求使用者輸入簡單的文字,如果內容包含敏感資訊,則可以選擇遮蔽值。以下清單顯示了一個示例

@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 模板變數
描述

defaultValue

預設值,如果已設定。否則為 null。

maskedInput

遮蔽的輸入值

maskedResultValue

遮蔽的結果值

maskCharacter

遮蔽字元,如果已設定。否則為 null。

hasMaskCharacter

如果設定了遮蔽字元,則為 true。否則為 false。

model

父上下文變數(參見 TextComponentContext 模板變數)。