struts2提供了命名空间的功能,主要是为了处理同一个WEB应用中包含同名Action的情形。struts2以命名空间的方式来管理Action,同一个命名空间里不能有同名的Action,不同的命名空间里可以有同名的Action. struts2不支持为单独的Action设置命名空间,而是通过namespace属性来为包下的所有Action指定共同的命名空间。如果配置<package.../>时没有指定namespace属性,则该包下的所有Action处于默认的包空间下。 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts><!--配置名为get的包,该包继承了Struts2的默认包,指定该包的命名空间为/book --!><package name="get" namespace="/book" extends="struts-default"> <action name="getBooks" class="cn.ss.GetBookAction" method="execute"> <result name="success">/WEB-INF/JspPage/chapter1/HelloWorld.jsp</result> </action></package></struts> 当某个包指定了命名空间后,该包下所有的Action处理的URL应该是命名空间+Action名,以上面例子为例,该包下包含了名为getBooks的Action,则该Action处理的URL为:http://localhost:8080/namespace/book/getBooks.action//8080是服务器的端口,namespace是应用名称,book是该Action所在包对应的命名空间,而getBooks是Action名
时间: 2024-10-06 09:00:32