level 1
wangkuoguang
楼主
我使用的是Spring4+Struts2 使用注解的方式
我遇到了这样一个问题 见如下代码:
Struts2的配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="bianmu" namespace="/bianmu" extends="struts-default">
<action name="bianmu_*" class="BMBookAction" method="{1}">
<result name="success">/bianmu/bm_main.html</result>
</action>
<action name="updatebook_*" class="BMUpdateBookAction" method="{1}">
<result name="error">/bianmu/bm_error.html</result>
</action>
<action name="bmtool_*" class="BMToolAction" method="{1}">
<result name="error">/bianmu/bm_error.html</result>
</action>
<action name="booklabel_*" class="BMBookLabelAction" method="{1}">
<result name="error">/bianmu/bm_error.html</result>
</action>
异常点--如果class使用以BM开始名字(例如BMMarcinAction),执行就正常。如果使用非BM开头的名字例如把BMMarcinAction改为BTMarcAction,执行时会发生找不到Action的异常。
我猜测是不是Spring是不是在Action的名字上进行了优化。如果大部分Action的名字有相同的字母开头,它会使用某种机制对这些Action的名字进行处理。如果有一个Action的名字,不再使用这个开头,Spring会找不到这个类。
我只是猜测没有找到相关的文档。不知道有哪个人遇到过这么奇葩的现象
<action name="inmarc_*" class="BMMarcinAction" method="{1}">
<result name="error">/bianmu/bm_error.html</result>
</action>
</package>
2015年01月23日 10点01分
1
我遇到了这样一个问题 见如下代码:
Struts2的配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="bianmu" namespace="/bianmu" extends="struts-default">
<action name="bianmu_*" class="BMBookAction" method="{1}">
<result name="success">/bianmu/bm_main.html</result>
</action>
<action name="updatebook_*" class="BMUpdateBookAction" method="{1}">
<result name="error">/bianmu/bm_error.html</result>
</action>
<action name="bmtool_*" class="BMToolAction" method="{1}">
<result name="error">/bianmu/bm_error.html</result>
</action>
<action name="booklabel_*" class="BMBookLabelAction" method="{1}">
<result name="error">/bianmu/bm_error.html</result>
</action>
异常点--如果class使用以BM开始名字(例如BMMarcinAction),执行就正常。如果使用非BM开头的名字例如把BMMarcinAction改为BTMarcAction,执行时会发生找不到Action的异常。
我猜测是不是Spring是不是在Action的名字上进行了优化。如果大部分Action的名字有相同的字母开头,它会使用某种机制对这些Action的名字进行处理。如果有一个Action的名字,不再使用这个开头,Spring会找不到这个类。
我只是猜测没有找到相关的文档。不知道有哪个人遇到过这么奇葩的现象
<action name="inmarc_*" class="BMMarcinAction" method="{1}">
<result name="error">/bianmu/bm_error.html</result>
</action>
</package>