在浏览器中处理文本输出(Spring 启动)

Work with text output in a browser (Spring Boot)

我在一行上有两个文本,我怎样才能让它们在不同的行上。

我的代码

button.addClickListener(event -> {

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

    String txt = "";

    txt += "Domain Name............: " + dto.getDomainIfo().getDomainName();
    txt +=  "Organization Using Domain Name";



    text1.setText(txt);

        }
);

在您的代码中添加换行符(例如\n)不会在浏览器中创建换行符。

你有几个选择,或者更多的 HTML 路线(注意: 以避免 XSS,如果你不确定文本内容)。

text1.getElement().setProperty("innerHTML", "Row one<br>Row two");

或者您可以使用 Paragraph 这样的元素,它默认显示在自己的行中:

Paragraph row1 = new Paragraph("Row one");
Paragraph row2 = new Paragraph("Row two");

text1.add(row1, row2);

@Tazavoo 的回答是正确的(Paragraph 方法)但我想稍微扩展一下这个答案。

根据这个问题,我相信 OP 不知道 Vaadins 基本 HTML-Components like Paragraph, Span, Div, VerticalLayout , HorizontalLayout。我鼓励问题的作者(以及 Vaadin 的任何 reader 新手)浏览所有 Vaadins components,并使用它们。

还有一个 Layouting Tutorial 我也建议您通过。

This Layouting overview 是为 Vaadin 8 编写的(某些组件如 Panel 是 V8 特定的),但它很好地概述了如何通过嵌套 VerticalLayoutHorizontalLayout,并使用多个 Label 组件。

TL;DR
不要 在附加到页面的字符串中写入换行符或 br-tags。每当您在 java 端编写 HTML 代码时,您就走错了路。使用 Vaadin 组件和布局。