java内核
发布网友
发布时间:2022-05-29 23:22
我来回答
共4个回答
热心网友
时间:2024-03-28 00:56
E,在<%=%>里如果是StringBuffer或String对象则是直接调用toString方法,所以<%=buffer%>是ABC,自然输出的也是buffer is ABC~
如果你有所怀疑,那么可以自己试一下,这样既能得出答案也可以加深记忆
*******************************************
谢谢christopherwan的指出,当时没主要到type,我的答案的确是错误~~同时我同意你答案
热心网友
时间:2024-03-28 00:57
hackdeek 给出的答案 应该是错误的。
我觉的这道题的答案应该选C,执行编译后出错,这是一个运行时候的异常。
我估计 楼主 是不是正在复习SCWCD认证哦 呵呵
加油哦。
<jsp:userBean id="buffer" scope="page" type="java.lang.StringBuffer"/> 这种是很容易让人出错的题,如果将type转化class ,就确实能得出 buffer is ABC的 解。
type 指定引用该对象的变量的类型,它必须是Bean类的名字、超类名字、该类所实现的接口名字之一。请记住变量的名字是由id属性指定的。
<jsp:userBean id="buffer" scope="page" type="java.lang.StringBuffer"/> 的 真正再后台jsp转化成servlet后的java代码(以下代码依赖于容器, 我用的是tomcat 5.5.9,如果是jboss的化 那么代码肯定也生成的不一样)是:
java.lang.StringBuffer buffer = null;
synchronized (_jspx_page_context) {
buffer = (java.lang.StringBuffer) _jspx_page_context.getAttribute("buffer", PageContext.PAGE_SCOPE);
if (buffer == null){
throw new java.lang.InstantiationException("bean buffer not found within scope");
}
看到没,使用此属性 type ,必须保证相应的scope中存在bean实例,如果没有就会报错InstantiationException异常
A:转译是不会出错的,你可以研究一下jsp的生命周期 有7步,转译是将jsp转化为servlet 的过程,这是明显可以的 ,因为语法没有出错。
B 编译也可以的
既然报异常了 ,自然C和D都不对了。
希望我的解答对你有帮助!
热心网友
时间:2024-03-28 00:57
JAVABean 文件呢?? 不给JAVABean文件 没有办法分析的
上面的代码是JSP的代码。<jsp:userBean id......> 是引入javaBean
<%buffer.append("ABC")%> 是在原来的基础上追加"ABC"
下面是显示追加的结果。。。
因为 JAVABean 没有给出 不知道里面内容是什么 所以没办法回答
热心网友
时间:2024-03-28 00:58
- 3- 你主要是java都没搞明白 先别扯jsp成么