gpt4 book ai didi

java - 如何以正确的形式获取信息(Spring Boot)

转载 作者:太空宇宙 更新时间:2023-11-04 09:16:09 24 4
gpt4 key购买 nike

我创建了一个 Spring Boot 项目。我想通过 vaadin 显示信息,如下图所示。我尝试过,但它在一行上显示所有信息。只使用Vaadin 14。如何正确书写,让一切完美显示

enter image description here

我正在使用 vaadin 14 UI 框架

@Route
@Service
public class MainView extends VerticalLayout {

RestTemplate restTemplate=new RestTemplate();


public String URL(String d){
return "http://localhost:8080/api/whois/" + d;
}

public DomainDTO domainDTO(String url){
return restTemplate.getForObject(url, DomainDTO.class);
}

public MainView(){

FormLayout formLayout=new FormLayout();
TextField textField=new TextField();
textField.setPlaceholder("please input domain");
textField.setWidth("630px");
textField.setHeight("50px");
Text text1=new Text("");
VerticalLayout v1=new VerticalLayout();
v1.add(text1);
Button button=new Button("SHOW");

button.addClickListener(event -> {

DomainDTO dto = domainDTO(URL(textField.getValue()));

String txt = "";

txt += "Domain Name............: " + dto.getDomainInfo().getDomainName();
txt += "Organization Using Domain Name";
txt += "Organization name......: " + dto.getDomainInfo().getOrganizationName();
txt += "Street Address.........:" + dto.getDomainInfo().getStreetAddress();
txt += "city...................:" + dto.getDomainInfo().getCity();
txt += "state..................:" + dto.getDomainInfo().getState();
txt += "postal code............:" + dto.getDomainInfo().getPostalCode();
txt += "country................:" + dto.getDomainInfo().getCountry();

txt += "handle.................:" + dto.getContactInfo().getHandle();
txt += "voice..................:" + dto.getContactInfo().getVoice();
txt += "fax....................:" + dto.getContactInfo().getFax();
txt += "email..................:" + dto.getContactInfo().getEmail();


text1.setText(txt);

}
);


button.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
formLayout.addFormItem(textField,"DOMAIN");
button.setWidth("30%");
formLayout.addFormItem(button," ");
add(formLayout,v1);

}
}

最佳答案

Text 类不是最适合此目的的,因为您无法向其添加换行符,并且无法设置样式。

像这样怎么样?

public MainView() {
Div textContainer = new Div();

textContainer.add(createHeader("Organization Using Domain Name"));
textContainer.add(createLine("Name", dto.getDomainInfo().getDomainName()));
textContainer.add(createLine("Organization Name", dto.getDomainInfo().getOrganizationName()));
textContainer.add(createLine("Street Address", dto.getDomainInfo().getStreetAddress()));

textContainer.add(createHeader("Administrative Contact/Agent"));
textContainer.add(createLine("Handle", dto.getDomainInfo().getHandle()));
textContainer.add(createLine("Name", dto.getDomainInfo().getName()));

add(textContainer);
}

private Component createLine(String key, String value) {
int keyLength = 24;
StringBuilder sb = new StringBuilder(key);

// Add padding dots ...
for(int i = key.length(); i < keyLength; i++) {
sb.append(".");
}
sb.append(": ");
sb.append(value);

Paragraph line = new Paragraph(sb.toString());
line.getStyle().set("font-family", "monospace");
line.getStyle().set("margin", "0");

return line;
}

private Component createHeader(String caption) {
Paragraph header = new Paragraph(caption);
header.getStyle().set("font-family", "monospace");
header.getStyle().set("margin", "16px 0 0 0 ");
return header;
}

关于java - 如何以正确的形式获取信息(Spring Boot),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58946820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com