路径问题:
struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。
虽然可以用redirect方式解决,但redirect方式并非必要。
解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式来拿到webapp的路径)或者使用myeclipse经常用的,指定basePath
动态方法调用:
/命名空间/action!方法名
通配符:
<package name="actions" extends="struts-default" namespace="/actions">
<action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">
<result>/Student{1}_success.jsp</result>
</action>
<action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">
<result>/{1}_{2}_success.jsp</result>
<!-- {0}_success.jsp -->
</action>
</package>
{1}代表第一个*的值,{2}代表第二个*的值
1)假设地址输入/actions/StudentAdd,系统会找到Student*这个action,调用方法Add,返回StudentAdd_success.jsp。
2)
使用通配符,将配置降到最低。不过一定要遵守“约定优于配置”原则。