字串輸入

字串輸入組件會要求使用者輸入簡單文字,如果內容包含敏感資訊,可以選擇遮罩值。以下清單顯示範例

@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 範本變數)。