struts2参数问题

  1.问题描述

            我们在struts中,当我们用<a>标签来实现链接时,都会采用通配符的方式来实现,具体代码如下。
        jsp页面中
       <a href="wjaddUser.action">添加</a>
      <a href="wjdeleteUser.action">删除</a>
      <a href="wjmodifyUser.action">修改</a>
      <a href="wjsearchUser.action">查询</a>
        xml文件中
       <package name ="wj" extends="struts-default">
      <action name = "wj*User"  class="wj.action.WjLogin"  method="{1}">
      <result name = "add" >/wjaddUser.jsp</result>
      <result name = "delete" >/wjdeleteUser.jsp</result>
      <result name = "modify" >/wjmodifyUser.jsp</result>
      <result name = "search" >/loginSuc.jsp</result>
      </action>
      </package>
       action(java文件)中
       public String add(Object object) {
return "add";
}
public String delete(Object object) {
return "delete";
}
public String modify() {
return "modify";
}
 但是会出错,错误就是
      
  java.lang.NoSuchMethodException: wj.action.WjLogin.add()
    这个问题说的是add()方法找不到
          
2.解决方法
        那么我们来分析一下这问题。add()是个无参的函数,在我们的java文件中定义的是一个含参的方法。但是我们xml文件中method对应的属性值,默认调用的是无参的方法。因此自然会找不到add()方法。(原因很简单,因为我们没有定义)。
     解决方案自然定义一个无参的方法。

3.传参问题
          struts2默认调用的是无参的方法,因而我们必须定义无参方法。但是,实际情况下,我们需要传参并要在其对应的方法里使用这个参数进行相关的操作。
    我们知道在jsp中定义了多种传参的方式,那么在这里我只举一种说明。

    jsp页面中传参那
   <a href="wjaddUser.action?id=<%= 1%>"

    java文件中(action对应的类)

      这里我们要进行的操作就是获取jsp页面中传来的参数
      String id = ServletActionContext.getRequest().getParameter("id");
      System.out.println("id"+id);

4.回顾总结
       就现阶段的学习struts来说,感觉他就是对jsp的一些改进,很多时候他还是需要借助servlet的中的方法来实现一些功能。因此struts与servlet的结合,是很关键的一步。这个过程就要通过ServertActionContext来实现。struts有待改进。比如说,调用含参的自定义的函数。
     


























1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值