2014-01-09 67 views
0

我正在开发一个Web应用程序,我想尽可能垂直对齐文本,我想通过插入空格来实现。空间不工作,因为我认为他们应该在jsp

上述将具有类似的一个例子:

abifdbf wewe werow fowefj

ABCD

wefewřfwerfwe WQ

这将使用空格后留下的是这样的:

abifdbf wewe wowow - fowefj

一个-------- b -------Ç---------- d

wefew - [R -------- fwerfwe WQ

我知道这不是一个好的做法,但现在我们只是测试数据,我认为这样做应该比通过html设计更容易,特别是考虑到还没有确定的设计。

我写这段代码,我认为应该工作:

String correoyvisita = iniemail + " &nbsp" + primeravisita; 

int diferencialong = 58 - correoyvisita.length(); 

for (int u = 0; u < diferencialong; u++) 
{ 
    correoyvisita=correoyvisita+"&nbsp;"; 
} 

凡correoyvisita和primeravisita都是字符串,所以我认为,如果它们的长度接近58个随后几个空格应该加Ti它,如果它不是更多的话将被插入,最后它们将具有58个字符的长度。

但同样数量的sapces似乎总是被插入,我不明白为什么。

希望,你可以引导我这个。

解决方案

嗯,我终于能够使用非比例字体,我对我的问题编写代码解决它,我也试图再次使用HTML表,但还是没奇怪的事情......但是,不管,现在它可以用于测试目的。

+7

如果您使用的是比例字体这不会有任何效果。为什么你要避免使用表格?表格是表格数据。 –

+0

字符串'' &nbsp“'缺少最后一个分号。不过,@Dave Newton是对的。编写HTML。这实际上比你所做的更简单。不要使用Java来格式化文本;你的代码不应该关心网页上文字的外观。让Java构造数据,网页显示它,并用CSS格式化它。 –

+0

表没有正确显示...也许我错过了一些东西,但我决定采取这种方法,我想我会再试一次 – user195321

回答

1

"&nbsp;&nbsp"是11个字符长度的字符串。
correoyvisita.length();将这些&nbsp计为11个字符,但不是2个字符,因为它们在浏览器中显示。

更改您的代码一点:

String correoyvisita = iniemail + " " + primeravisita; 

int diferencialong= 58 - correoyvisita.length(); 

for (int u=0;u<diferencialong;u++) 
{ 
    correoyvisita = correoyvisita + " "; 
} 
correoyvisita = correoyvisita.replace(" ", "&nbsp;"); 
+0

而他的字符串应该是'“   ”'无论如何,使12个字符。 –

+0

最后一行成为' '。正如我所想的,这段代码必须将字符串排列(或类似的)。 – Nicolai

+0

您将以'&nbsp'结尾,紧接着是String'correoyvisita'中'primeravisita'的内容。这不是有效的HTML。 –

相关问题