jsp小问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 22:33:22
boo=true|false

<body>
<%if(boo){%>
这是上午
<%}else{%>
这是下午
<%}%>
</body>
为什么能这样写的 不是说 html和 jsp是分开执行的吗
那 "这是上午" 和 "这是下午"为什么会被if语句所控制

为什么不这样写
<body>
<%if(boo){
这是上午
}else{
这是下午
}%>
</body>
类似的 这样创建一个页面one.jsp

<body bgcolor="#ffffff">
<form action="one.jsp" method="POST">
<input type="submit" value="转向" name="Submit"/>
</form>
<%
if(request.getParameter("Submit")!=null){%>
<jsp:forward page="index.html"/>
<% }%>
</body>
这里==========为什么不能这样写 他们都是jsp网页代码都需要在服务器上执行的 为什么不能这样
<%
if(request.getParameter("Submit")!=null){
<jsp:forward page="index.html"/>
}%>

请高手用简单易懂的语言概括 谢谢 关键讲一下第一个例子的

<%if(boo){%>
这是上午
<%}else{%>
这是下午
<%}%>

强调 <%--%>之间的内容必须是java代码,符合java语法,按你说的写

法 ,‘这是下午’是java语法吗? ‘<jsp:forward page="index.html"/> ’这是jsp动作标签 一样的道理 ,不符合java语法。

如果想写到一起的话,可以这么写:
<%
if(boo){
out.print("这是上午");
}else{
out.print("这是下午");
}
%>

你要先明白一个问题 ,所有的jsp文件 都要编译成一个类 ,然后

才以网页输出 ,既然编译成类 ,那么 if() 就当

然能判断 ,起相应的作用。
你写的像:
<body>
<%if(boo){
<font size=20>这是上午 </font>
}else{
<font size=20>这是下午 </font>
}%>

最后在类里都是这样的形式:
out.print("<body>");
if(boo){
out.print("<font size=20>这是上午</font>");
}else{
out.print("<font size=20>这是下午</font>");
}
out.print("</body>");

对,你这样写没错。
至于你说的“为什么能这样写的 不是说 html和