问答详情
源自:2-12 阶段项目

通过脚本调用和通过表达式调用的时候遇到的格式问题

 <body>
  	<%!
		//返回九九乘法表对应的HTML代码,通过表达式来调用。在页面上显示
  		String printMultiTable1(){
  			String s = "";
  			for(int i=1;i<=9;i++){
  				for(int j=1;j<=i;j++){
  					s+=i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;&nbsp;&nbsp;";
  				}
  				s+="<br>";
  			}
  			return s;
  		}
  		
  		//JSP内置out对象,使用脚本方式调用,打印九九乘法表
  		void printMultiTable2(JspWriter out)throws Exception{
  			for(int i=1;i<=9;i++){
  				for(int j=1;j<=i;j++){
  					out.println(i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;&nbsp;");
  				}
  				out.println("<br>");
  			}
  		}
  	 %>
    <h1>九九乘法表</h1>
    <hr>
    <%=printMultiTable1() %>
    <br>
    <%printMultiTable2(out);%>
  </body>

http://img1.mukewang.com/59ca2c140001d3a508260670.jpg

http://img4.mukewang.com/59ca2c1500017e3810350691.jpg

通过脚本调用和通过表达式调用的时候,遇到自动换行的问题。通过表达式调用时当浏览器窗口过小时不会换行,而通过脚本调用时会自动换行,还有通过脚本调用时println不会换行,而会在后面补一个空格。求助大神两种方法为什么会发生这样的区别?

提问者:SmileCollector 2017-09-26 18:34

个回答

  • MOOC_Shou
    2017-12-18 13:29:38

    out.println()和out.print()的在html中区别就是多一个空格

  • Z见贤思齐
    2017-09-26 21:24:29

    out.println()相当于在页面写html代码,html代码并不能导致页面显示的换行,还需要在换行的代码后面加上<br>(html的换行是<br>)。