gpt4 book ai didi

java - 如何将 StringBuilder 元素插入 GWT 应用程序?

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:39 25 4
gpt4 key购买 nike

因此,我从已建立的代码中获取 StringBuilder 元素作为返回参数,并且我需要将其插入到我的 GWT 应用程序中。此 StringBuilder 元素在返回之前已被格式化为表格。

为了更清楚起见,下面是如何生成 StringBUilder 以及返回内容的代码。

private static String formatStringArray(String header, String[] array, int[] removeCols) {
StringBuilder buf = new StringBuilder("<table bgcolor=\"DDDDDD\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">");

if (removeCols != null)
Arrays.sort(removeCols);

if (header != null) {
buf.append("<tr bgcolor=\"99AACC\">");
String[] tokens = header.split(",");
//StringTokenizer tokenized = new StringTokenizer(header, ",");
//while (tokenized.hasMoreElements()) {
for (int i = 0; i < tokens.length; i++) {
if (removeCols == null || Arrays.binarySearch(removeCols, i) < 0) {
buf.append("<th>");
buf.append(tokens[i]);
buf.append("</th>");
}
}
buf.append("</tr>");
}

if (array.length > 0) {
for (String element : array) {
buf.append("<tr>");
String[] tokens = element.split(",");
if (tokens.length > 1) {
for (int i = 0; i < tokens.length; i++) {
if (removeCols == null || Arrays.binarySearch(removeCols, i) < 0) {
buf.append("<td>");
buf.append(tokens[i]);
buf.append("</td>");
}
}
} else {
// Let any non tokenized row get through
buf.append("<td>");
buf.append(element);
buf.append("</td>");
}
buf.append("</tr>");
}
} else {
buf.append("<tr><td>No results returned</td></tr>");
}

buf.append("</table>");
return buf.toString();
}

因此,上面返回的 buf.toString(); 将在 GWT 类中接收,添加到面板并显示...现在的问题是:如何实现这一切?

我完全一无所知,因为我是新手,非常感谢您的帮助。

问候,
千拉汤

最佳答案

Chirayu,你能说得更具体一些吗? “已经建立的代码”(这是一个servet吗?它运行在服务器端还是客户端?),据说返回一个StringBuilder,显然返回一个String,它可以通过GWT-RPC、JSON等轻松传输。
但就像 Eyal 提到的,“你做错了” - 你正在手动生成 HTML 代码,这是额外的工作,会导致 security holes (XSS 等)并且更容易出错。正确的做法是:

  • 您只需通过 any transport 获取相关数据,而不是在服务器上生成 View /HTML 代码(我假设上述代码在服务器上执行)。 GWT 中可用
  • 在客户端,将来自服务器的数据放入一些漂亮的小部件中。如果您更喜欢直接使用 HTML,请查看 UiBinder 。不然老widgets, composites, etc方式也可以。

这样,您将最大限度地减少客户端和服务器之间发送的数据并获得更好的分离(要进一步了解,请查看 MVP )。另外,服务器负载减少 - 双赢。

为了不再是新手,RTFM - 一切都在那里。请注意,我在此处提供的所有链接都指向官方文档:)

关于java - 如何将 StringBuilder 元素插入 GWT 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3409857/

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