jsp中使用javabean的两点注意事项
jsp中使用javabean的两点注意事项
首先一点:javabean一定要放在命名包里,不能放在默认包里,也就是在bean文件的开头要package pname;了,如果不放在命名包里而放在了默认包里,最后将报如下这样的错误:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 18 in the jsp file: /javabean.jsp
TempBean cannot be resolved to a type
这个原因起初我也很不解,后来在网上查来查去才知道,java现在已经不允许命名包里的类调用默认包里的类了,也不允许在命名包里使用import classname(这个是默认包里的类)来引用默认包里的类了,所以才会出现以上问题。拿tomcat来说,它是先将jsp文件转换成java文件,然 后再将其编译成class文件来使用,但是tomcat转换成的java文件是定义在一个包里的,这个可以在tomcat的work目录中的java文件 中看到,所以如果javabean放在默认包里的话,因为java本身的语言规范定义,jsp生成的java文件就无法使用javabean了。我觉得也 由此可以得出,在jsp网页中以各种形式来使用放在默认包里的java类,都可能会引起编译错误,所以在jsp项目中,所有的类应该都放到自己相应的包 里,不要使用默认包。但是这里也有一个比较诡异的问题,虽然按JAVA规范说的是那样,但是如果在jsp网页中使用了默认包的类,只要把它用到的默认包的 class文件考到tomcat的work目录中的相应文件夹下,就不会发生上面所说的编译错误而能正常运行,至于原因是什么我也搞不懂,不太清楚 tomcat对类的搜寻机制。反正为了确保不出错误,还是把类放在命名包中,不要使用默认包就好。
第二点,这个可能也就是我这种笨蛋碰到了,就是在使用jsp:setProperty,jsp:getProperty这样的标签的时候,它的 property属性一定要用小写,不管javabean里的属性名的大小写如何,这里一定要写小写,不然就报什么Cannot find any information on property 'Msg' in a bean of type 'test.TestBean'之类的错误。
至于其他的基本上就是标准的javabean使用了,什么要有公共无参的构造函数,还有各个属性要有set/get方法,还有javabean要是一个public类。就这些吧!唉,头疼!
相关文档:
jsp乱码解决(转载)
jsp乱码解决(转载)
JAVA知识 2009-04-14 08:49 阅读935 评论5
GBK编码
GBK编码是中国制订的、等同于UCS的新的中文编码扩展国家标准。GBK工作小组于1995年10月,同年12月完成GBK规范。该编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1 ......
长度限制JavaScript代码
CODE:
<script> function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符!"); document.a.b.focus(); return
false; } } </script> <form. name=a nsubmit="return test()"> <textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></te ......
JSP基本语法
大部分JSP被一个以“<%” 开头和以“%>”结尾的的标记括在其中。在更新的JSP 1.1规范出台后,就有了与XML兼容的版本。
JSP指令和脚本元素
Directives <%@ directive %>
Declarations <%! declaration %>
Expressions <%= expression %>
Code Fragment/ ......
在JSP中的如果使用 "相对路径" 则有可能会出现问题.
因为 网页中的 "相对路径" , 他是相对于 "URL请求的地址" 去寻找资源.
上面这句话是什么意思呢 ?
举个例子:
假如我们有一个项目: MyApp
在该项目下, 有一个jsp文件夹
该文件夹下包括:
login.jsp // ......
JSP九种内置对像,不用定义可直接使用:request,请求对象;response,响应对象;pageContext,页面上下文对象;session,会话对象;application,应用程序对象;out,输出对象;config,配置对象;page,页面对象;exception,例外对象。
......