当前位置:编程学习 > JAVA >>

struts2中iterator迭代里调用action时命名空间问题

struts.xml配置了一个namespace
<package name="com" namespace="/mess" extends="struts-default">
<action name="Mess_*" class="com.MessAction" method="{1}">
<result name="success">/Mess{1}.jsp</result>
</action>
</package>

页面中使用<a href="<s:url action="mess/Mess_Content">
                 <s:param name="noticeId" value="1">
                 </s:param>
               </s:url>">
    test3</a>   
可以成功输出

在iterator迭代里写<s:url action="mess/Mess_Content">运行时报错,查看URL为http://localhost:8080/hello/mess/mess/Mess_Content.action?noticeId=0,多了个/mess/
改成
         <s:iterator value="messForm" status = "status">
           <tr>
            <td><a href="
     <s:url action="Mess_Content">
                  <s:param name="noticeId" value="%{#status.index}">
                  </s:param>
              </s:url>">test"/>
                </a></td>
           </tr>
         </s:iterator>
就可以成功输出了

我想问下为什么迭代里不写action的命名空间? --------------------编程问答-------------------- action="mess/Mess_Content"这个不是所谓的命名空间啊,你这个就是个相对路径
命名空间是namespace struts里有namespace,action对应的就是action的名字 --------------------编程问答-------------------- 还是不懂。。。
为什么在iterator里不用加“/mess/”,其他时候加呢?
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,