当前位置:编程学习 > JAVA >>

struts2一段时间过后无法实例化action

[ERROR  ] 2013-09-25 01:19:31,507 [500.jsp] -_500_jsp.java:85 - Unable to instantiate Action, com.suntel.linkup.support.action.loginAction,  defined for 'login/login' in namespace '/pages'com.suntel.linkup.support.action.loginAction

Unable to instantiate Action, com.suntel.linkup.support.action.loginAction,  defined for 'login/login' in namespace '/pages'com.suntel.linkup.support.action.loginAction


正常的访问地址是:/pages/Index/selectAdminRule.action

一段时间后,strust就报错无法实例化。根据上面的报错,是把命名空间全部转换成写了。这样的形式:/pages/index/selectadminrule.action,就报类似上面的错误。

附上strust配置:

<package name="default" namespace="/pages" extends="custom-default">
<action name="*/*" method="{2}" class="com.suntel.linkup.support.action.{1}Action">
  <result name="*" type="direct">通过Action直接返回,这一行无需修改</result>
</action>
    </package>



求各位高手大侠帮帮分析哈,这个问题出在哪里?如何解决? strust2 action namespace 实例 --------------------编程问答-------------------- 看上去好像没什么问题,但是我觉得你有点太省事了吧,统配符用那么多干什么?多写几个action配置文件也不会费很大的事吧,我一般只会用一个通配符,就是一个action里的多个方法,看上去没什么问题,帮你顶一下吧 --------------------编程问答-------------------- 你通配符没有任何的其它字符全部是*你叫struts2怎么识别不同的actionName,*/*就跟namespace的/混淆了,这当然不行,要想省事直接用注解开发,struts2-convention-plugin.jar全注解开发,和springmvc差不多只要一个总的struts.xml其它的action配置都用注解 --------------------编程问答--------------------
引用 2 楼 suciver 的回复:
你通配符没有任何的其它字符全部是*你叫struts2怎么识别不同的actionName,*/*就跟namespace的/混淆了,这当然不行,要想省事直接用注解开发,struts2-convention-plugin.jar全注解开发,和springmvc差不多只要一个总的struts.xml其它的action配置都用注解
++现在用注解方便写 --------------------编程问答--------------------
引用 2 楼 suciver 的回复:
你通配符没有任何的其它字符全部是*你叫struts2怎么识别不同的actionName,*/*就跟namespace的/混淆了,这当然不行,要想省事直接用注解开发,struts2-convention-plugin.jar全注解开发,和springmvc差不多只要一个总的struts.xml其它的action配置都用注解



嗯,是之前的项目,是这样的,负责解决这个问题,无法改动。现在的情况是: --------------------编程问答--------------------
引用 2 楼 suciver 的回复:
你通配符没有任何的其它字符全部是*你叫struts2怎么识别不同的actionName,*/*就跟namespace的/混淆了,这当然不行,要想省事直接用注解开发,struts2-convention-plugin.jar全注解开发,和springmvc差不多只要一个总的struts.xml其它的action配置都用注解



嗯,是之前的项目,是这样的,负责解决这个问题,无法改动。现在的情况是:

刚刚开始运行的时候,没有这样的错。在运行过程中有时就会出现上面说的错误,就是地址变成小写了,无法实例化了。不知道是strust哪里的配置问题,出现这样的情况。 --------------------编程问答--------------------
引用 5 楼 garvin_wu 的回复:
Quote: 引用 2 楼 suciver 的回复:

你通配符没有任何的其它字符全部是*你叫struts2怎么识别不同的actionName,*/*就跟namespace的/混淆了,这当然不行,要想省事直接用注解开发,struts2-convention-plugin.jar全注解开发,和springmvc差不多只要一个总的struts.xml其它的action配置都用注解



嗯,是之前的项目,是这样的,负责解决这个问题,无法改动。现在的情况是:

刚刚开始运行的时候,没有这样的错。在运行过程中有时就会出现上面说的错误,就是地址变成小写了,无法实例化了。不知道是strust哪里的配置问题,出现这样的情况。

<action name="*/*" method="{2}" class="com.suntel.linkup.support.action.{1}Action">
你这个class是由*/*,/之前的*捕获到的字符+Action形式的class路径这个你就要注意了,struts2是根据反射Class.forName(class);去加载你这个class路径的所以你actionName的/之前的*所用的字符串的第一个字母必须是大写,这是java的class的标准开头首字母必须大写,其它的就可以大小写无所谓了
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,