请问下面两个jsp书写方式有和区别?1. <% 
      String name = "scott";
      String s = "<tablte><tr><td>"+name+"</td></tr></table> " ;
    %>2.    
     
  <tablte>
       <tr>
           <td><%= name %></td>
       </tr>
   </table>以上哪个有优势?

解决方案 »

  1.   

    一般都写成 2 的,没有人会在 JSP 页面中写成 1 这样的。
      

  2.   

    JSP 中若以维护性来考虑的话,要尽量少出现或者不出现 Java 代码。
      

  3.   

    我看有人就是按照1.的 样子来做项目 ,比如;把网页的代码都穿成串,然后再将串打印出来。 
    printBuffer = new StringBuffer();
           printBuffer.append("<table width=\"94%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">");
           printBuffer.append("<tr> ");
    ....
    String printForm = printBuffer.toString();
    out.print(printForm);这样的安全性是否更强?
      

  4.   

    第二种是用了MVC的模式..方便你去维护
      

  5.   

    请问楼上,如何判定是用了 mvc 模式, 因为项目中没有用任何框架,例如:struts.甚至servlet都没用,至多用了javabean。
      

  6.   

    凡有模型(业务逻辑方法类、JavaBean)、控制器(只对视图层传来的数据调用模型方法,再将响应数据扔给视图去显示)、视图(只显示数据,不处理业务逻辑)符合这样结构的就称为 MVC 模式。用了 JavaBean 就不是 MVC,因为 V 层不能直接调用 M 层的方法,需要采用中间的 C 层来处理。在控制器不一定要用 Struts 的,用 Servlet 也可以做到的啊。注意的是:在控制器中不出现 out.print 之类输出 HTML 代码的语句,仅将结果存入 request 或 session 中进行转发;而 JSP 中不出现 <% %> 之类的东西,一般使用 EL、JSTL 来控制页面。
      

  7.   

    这两种方法用是可以用的啦。不说别的,只是从代码的结构、从视觉上看上你认为哪种好呢?2 若采用 EL 的话,<%=name%> 换成 ${name},这样还要更清晰 :)