zoukankan      html  css  js  c++  java
  • action中定义的方法能不能带参数?

    今天在使用Struts2.0做登录时,突然出现java.lang.NoSuchMethodException的问题

    检查了许久发现是在Action中在定义方法出现问题,自定义的方法是不能带参数的,可以通过别的方式去带一些动态的参数值,xxx.action?param=xxxx,用Request去取这个参数。如果你带了参数,在页面要执行方法时会找不到此方法,就会出现上面的错误。

    Struts2中Action接收参数的方法主要有以下三种:
    1.使用Action的属性接收参数:
        a.定义:在Action类中定义属性,创建get和set方法;
        b.接收:通过属性接收参数,如:userName;
        c.发送:使用属性名传递参数,如:user1!add?userName=Magci;
    2.使用DomainModel接收参数:
        a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法;
        b.接收:通过对象的属性接收参数,如:user.getUserName();
        c.发送:使用对象的属性传递参数,如:user2!add?user.userName=MGC;
    3.使用ModelDriven接收参数:
        a.定义:Action实现ModelDriven泛型接口,定义Model类的对象(必须new),通过getModel方法返回该对象;
        b.接收:通过对象的属性接收参数,如:user.getUserName();
        c.发送:直接使用属性名传递参数,如:user2!add?userName=MGC

    以下只介绍通过Action的属性接收参数例子

    jsp页面代码:

       

     Action中通过set、get方法获取,代码:

    注意的是loginAcc(Account account)这样写是错误的。以上仅代表个人观点,欢迎大家拍砖(*^_^*)

  • 相关阅读:
    【HTML】html站标设置、网页小图标
    【idea】2020完整安装过程
    pptp,l2tp获取登录用户信息用pppd参数即可
    Postfix+Dovecot+MySQL搭建邮件服务器(续)
    Postfix+Dovecot+MySQL搭建邮件服务器
    zimage 和bzimage 有什么区别
    Linux编译内核
    8种nosql数据库对比
    core dump
    ulimit -c unlimited
  • 原文地址:https://www.cnblogs.com/alvin-perfect/p/4353510.html
Copyright © 2011-2022 走看看