Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将StringBuilder元素插入GWT应用程序?_Java_Gwt - Fatal编程技术网

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

Java 如何将StringBuilder元素插入GWT应用程序?,java,gwt,Java,Gwt,因此,我从一个已经建立的代码中获取一个返回参数StringBuilder元素,我需要将它插入到我的GWT应用程序中。此StringBuilder元素在返回之前已格式化为表 为了更清楚,下面是如何生成StringBUilder的代码以及返回的内容 private static String formatStringArray(String header, String[] array, int[] removeCols) { StringBuilder buf = new StringBu

因此,我从一个已经建立的代码中获取一个返回参数
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();
}
私有静态字符串格式StringArray(字符串头、字符串[]数组、int[]removeCols){
StringBuilder buf=新的StringBuilder(“”);
if(removeCols!=null)
Arrays.sort(removeCols);
if(标题!=null){
buf.追加(“”);
String[]tokens=header.split(“,”);
//StringTokenizer tokenized=新的StringTokenizer(标题“,”);
//while(标记化的.hasMoreElements()){
for(int i=0;i0){
for(字符串元素:数组){
buf.追加(“”);
String[]tokens=element.split(“,”);
如果(tokens.length>1){
for(int i=0;i
因此,上面返回的
buf.toString();
将在GWT类中接收,添加到面板并显示……现在的问题是:如何实现这一切?

我是个新手,完全不懂,非常感谢你的帮助

问候,

Chirayu

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

  • 您不需要在服务器上生成view/HTML代码(我假设上面的代码是在服务器上执行的),而只需要通过GWT中提供的获取相关数据
  • 在客户机上,将来自服务器的数据放在一些漂亮的小部件中。如果您喜欢直接使用HTML,请查看。否则,旧方法也可以
通过这种方式,您将最小化客户端和服务器之间发送的数据,并获得更好的分离(要进一步了解,请查看)。此外,服务器上的负载更少-双赢


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

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

  • 您不需要在服务器上生成view/HTML代码(我假设上面的代码是在服务器上执行的),而只需要通过GWT中提供的获取相关数据
  • 在客户机上,将来自服务器的数据放在一些漂亮的小部件中。如果您喜欢直接使用HTML,请查看。否则,旧方法也可以
通过这种方式,您将最小化客户端和服务器之间发送的数据,并获得更好的分离(要进一步了解,请查看)。此外,服务器上的负载更少-双赢


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

为什么要从字符串创建HTML实体?您可以创建GWT UI小工具(在客户端)然后使用可读的Java代码根据需要构建它们。@Eyal,谢谢你的建议,我试图使用已经编写好的代码,它返回一个StringBuilder元素并将其集成到我正在做的GWT部分。现有的代码有点复杂,我正在实习,很快就完成了,所以时间是有限的。无论如何,谢谢。你为什么要从字符串创建HTML实体?您可以创建GWT UI小工具(在客户端)并根据需要使用可读的Java代码构建它们。@Eyal,谢谢你的建议,我试图使用已经编写好的代码,它返回一个StringBuilder元素并将其集成到我正在做的GWT部分。现有的代码有点复杂,我正在实习,很快就完成了,所以时间是有限的。无论如何,谢谢。“别再做新手了”作为一名心理医生,你会做得很好的:谢谢,阿什温,有备用计划总是好的;)我不介意帮助解决最简单的问题,除非我看到提出问题的人没有做家庭作业(天啊,我听起来像个老师).另一方面,我有点嫉妒Chirayu,因为他可以在实习期间与GWT打交道:D(尽管我知道被推到GWT中间可能会让人困惑和沮丧-你想写一个简单的应用程序,而且很突然