Struts2零配置
四、访问Action类
①名称空间:完整包名中关键包到类名之间的部分。上例中的Action类对应的名称空间是
com.atguigu.actions.MainAction -> / com.atguigu.actions.products.Display -> /products com.atguigu.struts.company.details.ShowCompanyDetailsAction -> /company/details |
②URL地址:类名去掉Action后缀,将剩下的部分按照驼峰式命名规则拆分成独立的单词,并全部转为小写,再以“-”连接。所以访问上例中的Action类的完整URL地址是
com.atguigu.actions.MainAction -> /main com.atguigu.actions.products.Display -> /products/display com.atguigu.struts.company.details.ShowCompanyDetailsAction -> /company/details/show-company-details |
参考以下配置
<constant name= "struts.convention.action.name.separator" value="-"/> |
五、Result
①JSP文件默认保存的位置/WEB-INF/content目录,参考以下配置
<constant name= "struts.convention.result.path" value="/WEB-INF/content/"/> |
②Action方法返回的字符串是success,则JSP文件的命名规则是:Action简单类名去掉Action后缀,将剩下的部分按照驼峰式命名规则拆分成独立的单词,并全部转为小写,再以“-”连接。则上例中的Action类对应的结果JSP是
com.atguigu.actions.MainAction ->/WEB-INF/content/main.jsp com.atguigu.actions.products.Display ->/WEB-INF/content/display.jsp com.atguigu.struts.company.details.ShowCompanyDetailsAction->/WEB-INF/content/show-company-details.jsp |
③其实结果资源并非必须是JSP,URL地址和结果资源的对应关系参见下表
URL |
Result |
File that could match |
Result Type |
/hello |
success |
/WEB-INF/content/hello.jsp |
Dispatcher |
/hello |
success |
/WEB-INF/content/hello-success.htm |
Dispatcher |
/hello |
success |
/WEB-INF/content/hello.ftl |
FreeMarker |
/hello-world |
input |
/WEB-INF/content/hello-world-input.vm |
Velocity |
/test1/test2/hello |
error |
/WEB-INF/content/test/test2/hello-error.html |
Dispatcher |
④如果Action方法返回的不是success,而是其他值,则目标资源的命名规则是:xxx-resultCode.扩展名,例如:
Action类名 |
返回值 |
结果资源名 |
MainAction |
save |
main-save.jsp |
ShowCompanyDetailsAction |
zero |
show-company-details-zero .jsp |
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源,欢迎大家关注尚硅谷公众号(atguigu)了解更多。