博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
遇到一个很二的sturts2 命名空间问题
阅读量:5916 次
发布时间:2019-06-19

本文共 2471 字,大约阅读时间需要 8 分钟。

hot3.png

今天想再从新搞搞struts2 结果弄得一塌糊涂,终究其问题原因是命名空间的错。

三。命名空间配置

1.不使用命名空间的方式:
struts配置:

Xml代码        
  1. <struts>
  2. <include file="struts-default.xml" />
  3. <package name="com.casc.manager" extends="struts-default"
  4. <action name="xxn" class="com.casc.manager.XxnAction">
  5. <result name="success">/success.jsp</result>
  6. <result name="error">/index.jsp</result>
  7. <result name ="input" >/index.jsp</result >
  8. </action>
  9. </package>
  10. </struts>
/success.jsp
/index.jsp
/index.jsp
Html代码        
  1. <form action="xxn.action" method="post">
  2. <s:text name="user.name"></s:text><input type="text" name="name"><br>
  3. <s:text name="user.password"></s:text><input type="password" name="password"><br>
  4. <input type="submit" value="<s:text name="user.submit"/>"/>
  5. </form>
"/>
地址栏访问:http://localhost:9999/TDIAP/xxn.action
这样配置基本不会有问题。
可是在struts1.2里,我们习惯:path="/abc/xxn"
方便于在abc文件夹下操作。
2.这样在struts2.0中就要是用命名空间来达到相同的效果。
Xml代码        
  1. <struts>
  2. <include file="struts-default.xml" />
  3. <package name="com.casc.manager" extends="struts-default" namespace="/mng">
  4. <action name="xxn" class="com.casc.manager.XxnAction">
  5. <result name="success">/success.jsp</result>
  6. <result name="error">/index.jsp</result>
  7. <result name ="input" >/index.jsp</result >
  8. </action>
  9. </package>
  10. </struts>
/success.jsp
/index.jsp
/index.jsp
Html代码        
  1. <form action="<%=request.getContextPath() %>/mng/xxn.action" method="post">
  2. <s:text name="user.name"></s:text><input type="text" name="name"><br>
  3. <s:text name="user.password"></s:text><input type="password" name="password"><br>
  4. <input type="submit" value="<s:text name="user.submit"/>"/>
  5. </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 要把命名空间加上。 

同时推荐一个很不的博客:

 

转载于:https://my.oschina.net/u/218567/blog/76428

你可能感兴趣的文章
leetcode728
查看>>
leetcode1078
查看>>
Linux下更新时间
查看>>
趋势停顿与转折(一)
查看>>
Android IOS WebRTC 音视频开发总结(十八)-- 手机适配
查看>>
[kuangbin带你飞]专题十 匹配问题 一般图匹配
查看>>
快饮快食
查看>>
Windows8、Windows7以及xp双系统安装教程
查看>>
day1-3
查看>>
线程属性
查看>>
【转】一款已上市MMO手游地图同步方案总结
查看>>
linux: 小试tcp协议
查看>>
【待解决】An internal error occurred during: "Launching baiduTest1". java.lang.NullPointerException...
查看>>
第四周进度表
查看>>
My strength (C-A-R)
查看>>
HDU 1754 I Hate It
查看>>
ansible 工作原理以及使用详解
查看>>
Android教程(2.1) Activity的详细讲解
查看>>
Asp.Net 用户验证(自定义IPrincipal和IIdentity)
查看>>
CCBReader的修改
查看>>