首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

小弟求解几个关于struts2的struts.xml有关问题

2012-10-11 
小弟求解几个关于struts2的struts.xml问题XML codestruts !-- 这里面要做的是各种result类型 --const

小弟求解几个关于struts2的struts.xml问题

XML code
<struts> <!-- 这里面要做的是各种result类型 -->    <constant name="struts.devMode" value="true" />    <package name="default" namespace="/result" extends="struts-default">        <default-action-ref name="hello" /><!-- 默认状态下要转到的action -->           <action name="hello">                  <result>/hello.jsp </result>           </action>            <action name="r1">      <result type="dispatcher">/r1.jsp</result>      </action>            <action name="r2">      <result type="redirect">/r2.jsp</result>      </action>            <action name="r3">      <result type="chain">r1</result>      </action>            <action name="r4">      <result type="redirectAction">r2</result>      </action>    </package></struts>



hello.jsp文件是:
<body>
  <a href="result/kkkkk/r1">dispatcher</a> <br/>
  <a href="result/r2">redirect</a> <br/>
  <a href="result/r3">chain</a> <br/>
  <a href="result/r4">redirectAction</a> <br/>
  </body>

问题:
1.我在url中输入localhost:8080/TestResult回车,为什么显示不了hello.jsp页面,而把xml文件里的namespace改成namespace="/"就可以了?
2在namespace="/"的情况下,我点hello.jsp的第一个链接,明明我xml里没有result这个路径可是也能正确访问为什么吗?
求指点,谢谢。

[解决办法]
1、你的访问路经是存在问题的,如果用namespace的话访问的话需要用projectname/namespace/XX.action。默认不写就是你所说的namespace="/"
2、能访问是因为你配了 <default-action-ref name="hello" /><!-- 默认状态下要转到的action -->
你自己写的很清楚了,如果访问的路经不正确,会调用默认的action来转到你事先定义好的逻辑。
[解决办法]
1.我在url中输入localhost:8080/TestResult回车,显示不了hello.jsp页面,是因为namesapce="/result",这是你需要localhost:8080/TestResult/result,才能正确访问。 而把xml文件里的namespace改成namespace="/",访问方式就是localhost:8080/TestResult。

2在namespace="/"的情况下,我点hello.jsp的第一个链接,明明我xml里没有result这个路径可是也能正确访问,是因为有这条语句 <default-action-ref name="hello" /><!-- 默认状态下要转到的action -->
[解决办法]
探讨

1.我在url中输入localhost:8080/TestResult回车,显示不了hello.jsp页面,是因为namesapce="/result",这是你需要localhost:8080/TestResult/result,才能正确访问。 而把xml文件里的namespace改成namespace="/",访问方式就是localhost:8080/TestResult。

2在name……

热点排行