Java 在浏览器中使用文本输出(Spring Boot)
我在一行上有两个文本,我怎样才能使它们在不同的行上 我的代码Java 在浏览器中使用文本输出(Spring Boot),java,spring,spring-boot,vaadin,Java,Spring,Spring Boot,Vaadin,我在一行上有两个文本,我怎样才能使它们在不同的行上 我的代码 button.addClickListener(event -> { DomainDTO dto = domainDTO(URL(textField.getValue())); String txt = ""; txt += "Domain Name............: " + dto.getDomainIfo().getDomainName(); txt += "Organiza
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,如果您不确定文本内容,请不要使用此选项)
@Tazavoo的答案是正确的(段落方法),但我想对这个答案进行一点扩展 基于这个问题,我相信OP不知道Vaadins的基本HTML组件,如
段落
,Span
,Div
,垂直布局
,水平布局
。我鼓励问题的作者(以及任何对瓦丁不熟悉的读者)通读并使用这些内容
我还建议您通过以下途径了解更多信息
是为Vaadin 8编写的(一些组件,如面板
是V8专用的),但它给出了如何通过嵌套垂直布局
和水平布局
,并使用多个标签
组件来实现复杂布局的概述
TL;DR不要在附加到页面的字符串中写入换行符或br标记。无论何时在java端编写HTML代码,您都走错了方向。使用Vaadin组件和布局。我强烈反对使用
innerHTML
方法,因为如果用户提供任何字符串(例如dto.getDomainIfo().getDomainName()
),它会导致XSS漏洞。另外,段落
在这种情况下提供了一个更好的API,因为您可以将文本值传递给其构造函数。啊,是的,段落
一大早就没想到。您好,可以打开聊天室吗。我想征求意见
text1.getElement().setProperty("innerHTML", "Row one<br>Row two");
Paragraph row1 = new Paragraph("Row one");
Paragraph row2 = new Paragraph("Row two");
text1.add(row1, row2);