今天初次尝试接触struts2,做为一个新手。我不断地在一个小例子上增加一些小功能。这个是我在做默认action的小功能时碰到的问题:
这个是我用的通配符写的一个struts2的配置文件,在其中添加默认action的配置(预计效果:“在地址栏在 http://localhost:8080/项目名/”
后面随便输入什么内容,都会跳转到 index.jsp这个JSP页面; 实际效果:并不会跳转,相反的还会报出一个错误)
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index"/>
<action name="index">
<result>/index.jsp</result>
</action>
<action name="*_*" class="com.hoperun.action.{1}Action" method="{2}">
<result name="success">/jsp{1}{2}Success.jsp</result>
<result name="fail">/jsp/{1}{2}Fail.jsp</result>
</action>
</package>
后经思考,觉得是这个通配符的问题。故改之,再跑,成功!!!
顾生疑问:竟然struts2有这么一个通配符的简单配置方式,为什么会与默认的action配置冲突???求大神能帮助解决这个疑问!!!!
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index"/>
<action name="index">
<result>/index.jsp</result>
</action>
<action name="Teacher_add" class="com.hoperun.action.TeacherAction" method="add">
<result name="success">/jsp/TeacheraddSuccess.jsp</result>
<result name="fail">/jsp/TeacheraddFail.jsp</result>
</action>
</package>