在JSP方法中实现HTML标记

时间:2012-04-09 10:39:01

标签: html jsp

我在jsp中创建了一个方法。在该方法中,我使用了一些使用out.println()的html标签;方法但它会让你出来无法解决。

这是我的代码:

<%! public int display(int start){

        int limit;
        limit = DEFAULT >= testList.size() ? testList.size() : DEFAULT;
        System.out.println("size : "+ testList.size());
        System.out.println("limit : "+ limit);
            for(int count = start; count < limit; count++){
        TestDetail detailContain = (TestDetail)testList.get(count); 
        tcName = detailContain.getTestName();
        System.out.println("id : "+ tcName);
        tcSource = detailContain.getSource();
        tcDescription = detailContain.getDrescription();
        idVal = detailContain.getID();
        out.println("<tr>");
        out.println("<td width = '5%'><input id='"+idVal+"' type = 'checkbox' name = 'Tests' value = '"+tcName+"'/></td>");
        out.println("<td width = '20%'><a href = './"+tcSource+"'>"+tcName+"</a></td>");
        out.println("<td width = '75%'>"+tcDescription+"</td>");
        out.println("</tr>");

        }
         return limit;
    }
            %>

它给出了这个错误:

org.apache.jasper.JasperException:无法为JSP编译类:

jsp文件中的第108行:/Xyz/def/abc.jsp发生错误 出来无法解决

1 个答案:

答案 0 :(得分:0)

您收到此错误是因为您在java方法中编写“out.println”。 当您使用声明标记来定义自己的方法时,它无法访问所有JSP代码所在的“服务”方法。您可以将Object输出流作为参数传递给您的方法,如下所示,然后使用out。的println

public int display(int start,**OutputStream outObject**)

        outObject.println("<tr>");
        outObject.println("<td width = '5%'><input id='"+idVal+"' type = 'checkbox' name = 'Tests' value = '"+tcName+"'/></td>");
        outObject.println("<td width = '20%'><a href = './"+tcSource+"'>"+tcName+"</a></td>");
        outObject.println("<td width = '75%'>"+tcDescription+"</td>");
        outObject.println("</tr>");