bean

2018-11-26  本文已影响0人  jiayuiii

bean和Java的class文件其实是一样的,相当于一个私有类,一个是set,一个是get。(偶尔还有一个is来判断);

需要先写好java文件(需创建一个包放进包里),编译成功后把编译好的class文件方法相应的文件夹就可以使用了;

需要在相应的项目里创建一个classes文件夹,然后classes下面在新建一个相应的包名的文件夹,再把class文件copy进去。

那下面把bean存进去之后怎么使用呢?

先使用如下语句

<jsp:useBean id = "bean点名字(方便调用)" class = "创建bean的字节码(注意是字节码)" scope = "bean的有效使用范围"/>

或者

<jsp:useBean id = "bean点名字(方便调用)" class = "创建bean的类(注意是类)" scope = "bean的有效使用范围"></jsp:useBean >

然后就是id.get...(方法名)就可以调用这个bean啦

原理:先根据 id 和scope 来查找是否已经存在这样的bean,有的话直接调用。没有的话就根据指定的class文件来创建一个jsp动作标记useBean要求的bean。然后放进pagecontent中。

接下来我们讲讲它的另外一个属性scope:

有4个取值,分别是jsp的4个内置对象(page 、session、 request、application)

page : 仅在当前页面有效,页面执行完毕就销毁释放内存;

request:和page差不多,仅在当前页面有效,请求响应结束后销毁(比page长一点,因为页面执行完毕后才算响应结束)

session:相同web目录下都可以访问,会话结束销毁;

application : 和session差不多,但是application是由服务器创建的。服务器关闭销毁。

下面是获取和修改bean的属性:

设置有4种方法:

1、<jsp:setProperty name = "bean名" property = "要设置的属性" value = "传入的值"/>

        3个都要一一对应,value一般传入字符串,会根据bean里的类型自动转换(或者一个表达式<%= value%>)

2、(结合request)<jps:setProperty name = "JavaBean实例名"  property = "*"/>   一次把form里面的都传过去

        因为表单传过去的都是字符串,所以只要传的键值(就是input的name属性)和bean的属性一一对应,就会传到相应的set方法里面,所以说方法的命名很重要(setUuuuu驼峰式);

3 、<jsp:setProperty name = "JavaBean实例名" property = "JavaBean属性名" />(要和form的name一样);

    是上面的拆分版本

4、<jsp:setProperty name = "JavaBean实例名" 

     property = "propertyName" param = "request对象中的参数名"

    />        

    这个就是不要求 "JavaBean属性名" 要和form的name一样了,param指的是form的那么;

上一篇下一篇

猜你喜欢

热点阅读