• 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基础
    JavaScript基础
    J2EE技术(六)——JSP
    2011.2—至今年度总结
    J2EE技术(二)——JDBC
    DRP项目总结(一)——项目简介
    CSS基础
    J2EE技术(五)——EJB
    J2EE技术(三)——JMS
    J2EE技术(四)——JavaMail
  • 原文地址:https://www.cnblogs.com/alvin-perfect/p/4353510.html
Copyright © 2020-2023  润新知