这里的表达式为什么是错误的

   <%!

    String s;

void a(JspWriter out)throws Exception

    {

   

    for(int i=1;i<=9;i++)

    {

    for(int j=1;j<=i;j++)

    {

    out.print(i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;&nbsp;&nbsp;");

    }

    out.print("<br>");

    }

    }

    %>

    <%=a(out) %>

    <%a(out); %>

 <%=a(out) %>为什么表达式是错误的,而<%a(out); %>却可以用,同样都是a方法。




漫之旅
浏览 1498回答 2
2回答

大咪

 <%=a(out) %>   这个相当于赋值,可以在页面上显示表达式的结果,表达式就是java中表达式。。  举个例子来说,比如你在jsp中有一个user,他有一个属性username,那么像在屏幕上输出username的值,  就可以用<%=user.username%>这样的形式去调用    //像这样的叫表达式。。 而你的    <%a(out); %>相当于是直接调用程序段,所以这个可以执行并且不报错。。。。。

yanrun

a方法的返回值是void啊,没有办法输出,而a(void);是调用方法可以正常运行
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java