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)了解更多。