• Javabeans,jsp动作 useBeans、setProperty、getproperty


     

     

    javabean

    就看这一句,这不就是Java的抽象成类吗?也不是,是一种特殊格式的类。

     

    为什么写成这种格式,就可以解决代码重复?利于维护??

    jsp动作:

    xml元素

    XML的基本组成单位是元素,元素由标记来定义,标记包括起始标记<>和结束标记</>,属性要写在起始标记内。在XML中,所有元素必须有结束标记。

    语法样式:

             <元素名 属性名=“属性值”>

                       元素内容

    </元素名>

    提供信息??指什么

    useBean标签

    创建javabeans

    第一种:

     像普通的Java类一样,创建javabean示例

    类文件是在src文件夹里,右键src—new—package

    包里右键—new—class

    类型是public,javabeans是共有类。

    代码:

    创建get、set方法可以用快捷键。空白处右键—Source—创建getters和setters:

    这样就创建了用户类的javabean。

    Jsp用使用javabeans:

    使用import导入。写全名,包名类名一块写。

    和普通的java类使用方法一样,使用new创建实例。

    运行结果:

    第二种用jsp标签使用javabean:

    useBeans标签:

    id是实例化出来的标识符,其实就是自己用这个类new的一个实例,名字是自己起的。

    Class就是要用的javabeans。写全名,包名.类名。

    Scope是javabeans的作用范围,默认值就是page,可以不写。

    代码:

    运行结果:

    实例化的时候,没有初始化用户名和密码,所以都是null。

    setProperty标签:

    第一种:

    跟表单关联,property= “ * ”   *  表示匹配,根据表单提交的参数名称和javabeans里的属性名称一一匹配,匹配上了,就一一复制。意思是表单里提交的数据,如果javabean里有,就接受这些数据给自己的属性赋值?

    Login.jsp:

    表单里有username、password。

    去user类里查找有没有这两个属性。

    user.java:

    有对应的属性,则调用属性的set方法,进行复制:

    <jsp:setProperty name="myUsers" property="*"/>  里面的name要和

    <jsp:useBean id="myUsers" class="com.po.User" scope="page"/>里的实例id一致。

    第二种:

    根据指定的属性部分匹配。

    <jsp:setProperty name="myUsers" property="username"/> 

    此时就只对用户名匹配传值了,密码的值还是为 null。

    第三种:

    第四种:

    在login.jsp的表单里添加了mypass参数。

    dologin.jsp里:

    这样password就不是表单里填的密码的值了,而是这里填的mypass的值了。

    上面的username还是从表单里填的值取的。
    (这算是干什么?login.jsp里有表单传递值进来,但是也有设置一下其他的request参数,这个参数也可以用在javabean的赋值里)

    getProperty标签

     

    <!-- 使用传统的表达式方式来获取用户名和密码 -->  

                    用户名:<%=myUsers.getUsername() %><br>

                    密码:<%=myUsers.getPassword() %><br>

    <!-- 使用getProperty方式来获取用户名和密码 -->

          用户名:<jsp:getProperty name="myUsers" property="username"/> <br>

      密码:<jsp:getProperty name="myUsers" property="password"/><br>

     (好像也并没有很方便,就是不用写Java代码了,直接写标签)

     

  • 相关阅读:
    在 Cocos2d-x 中添加自己的微博链接
    关于屏幕适配
    [抽象工厂模式]在游戏开发中的应用
    字符串排列组合
    子矩阵最大和
    网易游戏编程题第二题
    动态规划,最大子段和
    C++的四种显示类型转换
    多线程编程
    预处理等等
  • 原文地址:https://www.cnblogs.com/youwuyi/p/10238695.html
Copyright © 2020-2023  润新知