新手------这个问题怎么解决啊

 

struts 配置文件这样配置

 <action name="addBusLevel" class="businessAgentLevelAction" method="doAddLevel">
            <result name="success" type="redirect">manBusLeve.action</result>
        </action>
        <action name="manBusLeve" class="businessAgentLevelAction" method="allBusinessAgentLevel">
           <result name="success">WEB-INF/back/busAgentLevel/busLevList.jsp</result>
        </action>

 

 

action中有如下代码

 

public String doAddLevel() throws Exception {
         Map request = (Map)ActionContext.getContext().get("request");
        try {
             this.businessAgentLevelBiz.saveBusinessAgentlevel(this.businessAgentLevel);
             request.put("addMsg", "添加成功!");
        } catch (Exception e) {
            e.printStackTrace();
            request.put("addMsg", "添加失败,请稍后再试!");
            return SUCCESS;
        }
        return SUCCESS;
    }

  

当程序执行过这个添加的方法后  我想从busLevList.jsp 页中取得request 中的值 

 <result name="success" type="redirect">manBusLeve.action</result>

 这样配置 经过转发 request中的值就丢失了

如果采用下面的配置 又报找不到 资源

 <result name="success" type="dispatcher">manBusLeve.action</result>

 

……怎样能 ${addMsg} 取值 请大家帮忙

[code="java"]Map request = (Map)ActionContext.getContext().get("request");[/code]

恩,你是对的。我疏漏了。。。

[b]将转发方式改为chain试试:[/b]

[code="xml"]

manBusLeve.action

[/code]

[color=blue][b]
写错了,不带后缀名。方式为chain[/b][/color]
[code="java"]

manBusLeve

[/code]

[b]
用AJAX呀,异步传输![/b]

[quote]

[code="java"] Map request = (Map)ActionContext.getContext().get("request");[/code]

[/quote]

你的这一句存在问题!!

应该是 直接这样做:
[code="java"]
ActionContext.getContext().put("message", "hello WOrld");[/code]

[quote]
manBusLeve.action

说明 这种配置 不会报找不到资源
可以通过 就是取不到值 [/quote]
另外:dispatcher的result类型是,不是用来找Aciton的!

给你一个简单的案例:
[code="java"]
package xxx.action;

import com.opensymphony.xwork2.ActionContext;

public class HelloAction {

public String execute(){
    ActionContext.getContext().put("message", "hello World");
    return "OK";
}

}
[/code]

[code="java"]package xxx.action;

import com.opensymphony.xwork2.ActionContext;

public class RealAction {

String param ;

public String execute(){
    param = (String)ActionContext.getContext().get("message");
    System.out.println(param);
    return "OK";
}

public void setParam(String param) {
    this.param = param;
}
public String getParam() {
    return param;
}

}[/code]

[code="xml"]

    <action name="hello" class="xxx.action.HelloAction">
        <result name="OK" type="chain">real</result>
    </action>

    <action name="real" class="xxx.action.RealAction">
        <result name="OK">/chain.jsp</result>
    </action>

</package>[/code]

[code="xml"]<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">






[/code]

输出: hello World