struts2.0配置命名空间
先说不使用命名空间的方式:
struts配置:
<struts><include file="struts-default.xml" /> <package name="com.casc.manager" extends="struts-default" <action name="xxn" >/index.jsp</result > </action> </package></struts>
?页面访问:
<form action="xxn.action" method="post"> <s:text name="user.name"></s:text><input type="text" name="name"><br> <s:text name="user.password"></s:text><input type="password" name="password"><br> <input type="submit" value="<s:text name="user.submit"/>"/></form>
?地址栏访问:http://localhost:9999/TDIAP/xxn.action
?
这样配置基本不会有问题。
可是在struts1.2里,我们习惯:path="/abc/xxn"
方便于在abc文件夹下操作。
?
这样在struts2.0中就要是用命名空间来达到相同的效果。
?
?
配置:
<struts><include file="struts-default.xml" /> <package name="com.casc.manager" extends="struts-default" namespace="/mng"> <action name="xxn" >/index.jsp</result > </action> </package></struts>
?页面访问:
<form action="<%=request.getContextPath() %>/mng/xxn.action" method="post"> <s:text name="user.name"></s:text><input type="text" name="name"><br> <s:text name="user.password"></s:text><input type="password" name="password"><br> <input type="submit" value="<s:text name="user.submit"/>"/></form>
?这里主页 因为我们使用了命名空间“/mng”,如果在mng文件夹下的jsp页面我们可以直接写 action="xxn.action"
但在其他文件夹下就不行了。如果在mng上级目录尽量不要写成action="mng/xxn.action", 这样会成功但会出现问题,他很可能出现地址栏中http://localhost:9999/TDIAP/mng/mng/mng/mng/mng/mng/mng/mng/mng/mng/mng/mng/mng/mng/mng/mng/mng/mng/xxn.action
这种情况。
安全起见 使用绝对路径:action="<%=request.getContextPath() %>/mng/xxn.action" 这样写不用考虑当前目录。
地址栏访问:http://localhost:9999/TDIAP/mng/xxn.action?要把命名空间加上。
?