《JavaWeb编程技术》课后习题答案(6)
时间:2025-07-11
时间:2025-07-11
<%= aBool %>
<%= false %>
<%= !false %>
<%= getChar() %>
<%= Math.random() %>
<%= aFloatObj %>
<%= aFloatObj.floatValue() %>
<%= aFloatObj.toString() %>
不合法的JSP表达式:
<%= aVector %>
<%= aBool; %>
<%= int i = 20 %>
<%= sBuff.setLength(12); %>
3. 答:C
4. 答:正确声明应为:
<%! int i = 5; %>
<% !int getI() { return i; } %>
5. 答:B是合法的。解析:JSP表达式中百分号和等号之间不能有空格。
6. 答:D。解析:A中import的属性值中应该有等号。B的import属性值应该在一个字符串中指定。C,属性之间不允许有逗号。E,bgcolor不是合法的属性名。F,true不是buffer属性合法值。G,指令名、属性名和值都是大小写敏感的,Page应为page。
7. 答:B,C
A.非法:等号表明它是表达式,但表达式不能以分号结束,产生的Servlet代码将发生语法错误。
out.print(myObj.m1(););
B.合法:<%=x=y%>将被转换成:
out.print(x=y); // y的值5赋给x并将其打印输出
C. 合法:这是合法的小脚本,因为在方法调用语句的后面有分号。即使该方法返回一个值,它也是合法的,因为返回的值将被忽略。
8. 答:不能在小脚本中定义方法。上面代码一旦被转换成Servlet,_jspService()方法就会像下面这样:
public void _jspService(...){
// 其他代码
int x = 0;
int incr() { return ++x; }
out.write("The value of x is ");
out.print(incr());
}
由于incr()方法定义在_jspService()方法内,所以代码不能编译。
9. 答:The value of i is 3