<%@page language="java" import="java.util.*" %>
<%! int condition;%>
<html>
<body>
<%
condition=1;
switch(condition){
case 0:
%>
You must select condition 0!
<%
;break;
  case 1:
%>
you must select condition 1!
<%
;break;
default:
 %>
 Your  select not in "0 or 1",select again!
 <%
 }
 %>
</body>
</html>
 

解决方案 »

  1.   

    对于上面这段代码,有点不明白,希望大家指点
    我的理解是包含在<%....%>中的有jsp引擎解释,其他的是html,由服务器解释
    那为什么“You must select condition 0! ”和“You must select condition 1! ”不放在<%%>里面
      

  2.   

    放里面也行,用out.println("You must select condition 0!");
      

  3.   

    楼主所写的<%....%>代码段最终也要经JSP引擎解释编译成静态的html代码发送到客户端浏览器,而在<%....%>标记中的代码段为纯JAVA
    JAVA代码,要想在这个标记内将直接输出“You must select condition 0! ”这样的字符串,必需通过专门的输出语句进行输出:如out.pintln(“You must select condition 0! ”);也就是说Jsp的页面代码最后要被编译成为servlet,除了<%....%>以外的语句,所有的其它html代码段均要被转换为out.println("<html>……");之类的语句。然后经由服务器引擎发送编译后的静态的html代码到客户端浏览器显示器。
    这只是我个人的理解,有不对之处还请各位兄弟批评指正。
      

  4.   

    谢谢大家的指点
    我的理解是放在里面的话,swicth能控制其是否输出,在外面的话是怎么控制的?在外面不都输出吗?
      

  5.   

    不会全部输出 selct...在case范围内
      

  6.   

    楼主所写的 <%....%>代码段最终也要经JSP引擎解释编译成静态的html代码发送到客户端浏览器,而在 <%....%>标记中的代码段为纯JAVA 
    JAVA代码,要想在这个标记内将直接输出“You must select condition 0! ”这样的字符串,必需通过专门的输出语句进行输出:如out.pintln(“You must select condition 0! ”);也就是说Jsp的页面代码最后要被编译成为servlet,除了 <%....%>以外的语句,所有的其它html代码段均要被转换为out.println(" <html>……");之类的语句。然后经由服务器引擎发送编译后的静态的html代码到客户端浏览器显示器。 
    这只是我个人的理解,有不对之处还请各位兄弟批评指正。
    我的理解是放在里面的话,swicth能控制其是否输出,在外面的话是怎么控制的?在外面不都输出吗?
    放在里面的话,swicth同样起到了控制其输出的效果 和使用out.pintln(“You must select condition 0! ”);放在里面是一样的效果
      

  7.   

    放在里面的,有jsp去运行,不放在里面的,则会被直接out.print()输出。你可以看看从jsp生成的.java文件,如果你用tomcat,则在tomcat/work/catalina/localhost 或者你的一个项目目录下面比如index.jsp
    则对应的.java文件名为
    index_jsp.java
      

  8.   

    是不是jsp引擎也处理<html>之类的了
      

  9.   

    也就是out.println("<html>")了