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

求高手进,关于struts2中result跳转问题

  我struts2的配置文件是分别写成几个,最后在struts.xml中<include file="">就行了,但是我想在一个配置文件中跳转到另一个配置文件中的action就不行了会提示找不到这个namespace,但是放到一个配置文件中就没问题,怎么解决啊,
<result name="failed" type="redirectAction">
<param name="namespace">/user</param>
<param name="actionName">login</param>
</result>

<action name="login">
<result name="success">
/WEB-INF/user/login_form.jsp
</result>
</action>
这两个分别在不同的配置文件下, --------------------编程问答-------------------- 看看我的配置!希望对你有帮助!
hz.xml:
<struts>
<package name="hz" extends="struts-default">

</package>
</struts>
start_CD.xml:
<struts>
<package name="start_CD" namespace="/" extends="hz">
        
<action name="itemView" class="com.hz.action.itemsView">
<result></result>
</action>
 
<action name="itemContent" class="com.hz.action.itemContent">
    <result name="suc">/MyJsp.jsp</result>
</action>
<action name="children" class="com.hz.action.Children">
   <result></result>
</action>
 <action name="testUsername" class="com.hz.action.FormAjax" method="addGoodsItems">
                    <!-- <result name="addItems" type="json">
                     <param name="includeProperties">goodsItemsMap.*</param>
                     </result>-->
          </action>
           <action name="test" class="com.hz.action.jqGridDemo" method="test">
                    <!-- <result name="addItems" type="json">
                     <param name="includeProperties">goodsItemsMap.*</param>
                     </result>-->
          </action>
</package>
</struts>
sturts.xml:
<struts>
<constant name="struts.i18n.encoding" value="utf-8"></constant>
<constant name="struts.devMode" value="false" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<include file="hz.xml" />
<include file="start_CD.xml" />
</struts> --------------------编程问答-------------------- 讲清楚是从哪个跳到哪个不行 --------------------编程问答-------------------- 从一个配置文件跳转到另一个配置文件下的action不行,这两个配置文件都是继承了struts.xml下的一个package --------------------编程问答-------------------- 用struts2的
<result name="XXX" type="chain">
具体的忘记了。网上查查
这个专门用来处理action间跳转的
   --------------------编程问答-------------------- 试过了都说找不那个usernamespace --------------------编程问答--------------------
引用
<result name="failed" type="redirectAction">
<param name="namespace">/user</param>
<param name="actionName">login</param>
</result>

<action name="login">
<result name="success">
/WEB-INF/user/login_form.jsp
</result>
</action>


[quote:引用说明]
Redirect Action Result:


   这个Result使用ActionMapperFactory提供的ActionMapper来重定位浏览器的URL来调用指定的action和(可选的)namespace.
   这个Result比ServletRedirectResult要好.因为你不需要把URL编码成xwork.xml中配置的ActionMapper提供的模式.
这就是说你可以在任意点上改变URL模式而不会影响你的应用程序. 因此强烈推荐使用这个Result而不是标准的redirect result来解决重定位到某个action的情况.


ActionName (默认) - 重定位到的action名 namespace - action的名称空间. 如果为null,则为当前名称空间


这样改看看可不可以:
<result name="failed" type="chain">/user/login</result>

<action name="login">
<result name="success">
/WEB-INF/user/login_form.jsp
</result>
</action>
--------------------编程问答-------------------- <result name="toSave" type="redirectAction">user!login.action</result>
用这个就好不用两个配置文件 --------------------编程问答-------------------- 不行哦,提示在该包中找不到/user/login 我在想是不是不同配置文件下难道不能相互调用action? --------------------编程问答-------------------- 我知道,但是我在想放在两个配置文件中能不能调用action,所以想找找解决办法 --------------------编程问答-------------------- 好吧,我实验了,虽然eclipse报错但是还是能跳转..你估计是eclipse没有深入检查的原因
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,