-3

我正在尝试在 web 视图中为每 3 列添加图像,但图像以水平方式显示在表格之外。我哪里错了?请提示。

        String str = "";           
        str += "<table width='200' border='1'><tr>";
        int i = 1;

        for (i=1; i < my_image.length-1; i++) {
            if (i%3==0) {    
                str += "<td><a href='"+my_image[i]+"'"+" class='popup-open'><img src='"+my_image[i]+""+"width='80' height='65'></a></td></tr><tr>";
            } else {
                str+= "<td><a href='"+my_image[i]+"'class='popup-open'><img src=' "+my_image[i]+"' width='80' height='65'></a></td></tr>";    
            }
            str+="</tr></table>";
        }

        html_content = "<strong>"+title+"</strong>" +
                " <br><br><img src='"+single_image+"'width='300' height='211'>" +    
                "<br> " +   
                ""+content+"<br>"+str;
4

2 回答 2

2

正如已经说过的那样,您可能在某处缺少结束标记或撇号。

实际上,通过串联Strings 来生成 HTML 代码并不是一个好主意。我建议您检查这个Jackarta ECS库以生成 HTML。它负责所有技术环节,并声称与 HTML 4.0 兼容,但不再受支持。

否则,您可以从javax.swing.text.html检查这个JATL项目或 HTMLEditorKit

于 2012-11-22T08:48:04.010 回答
0

几乎可以肯定,您不会在某个地方关闭一个标签,每个打开的 HTML 标记都应该关闭。

你肯定会结束你的桌子,<tr></tr>这不是很好。

您绝对应该对使用 JSP 或类似工具进行一些研究。从长远来看,在您的 JSP 中使用 JSTL 会更可取,更易于阅读且更易于维护。阅读一个 JSTL / JSP 教程的一个小时将为您节省很多未来。

编辑:实际上,您似乎没有关闭'src 属性:

str += "<td><a href='"+my_image[i]+"'"+" class='popup-open'><img src='"+my_image[i]+""+

应该:

str += "<td><a href='"+my_image[i]+"'"+" class='popup-open'><img src='"+my_image[i]+"'"+

也使用宽度和高度属性是不好的形式。使用类属性设置一个类并使用 CSS 调整图像大小 - 如果您想在将来的任何时候更改图像的大小,它将防止头痛/代码更改。

于 2012-11-22T08:38:10.163 回答