Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Struts 2中动态传递带有动作名称的参数_Java_Parameters_Struts2 - Fatal编程技术网

Java 如何在Struts 2中动态传递带有动作名称的参数

Java 如何在Struts 2中动态传递带有动作名称的参数,java,parameters,struts2,Java,Parameters,Struts2,我想用一些参数调用action类,但我能够做到这一点。 请建议我在应用程序中使用映射struts.xml文件传递参数 我正在应用程序中使用Struts2框架。我的Struts文件操作映射如下: {1} 视图/CreateShBehaviorView.jsp / 和用于调用action类的url: http://localhost:8080/pro/createSHBehaviour/123 这里createshbehavior是createshbehavior动作的方法类: 公共类Cr

我想用一些参数调用action类,但我能够做到这一点。 请建议我在应用程序中使用映射
struts.xml
文件传递参数

我正在应用程序中使用Struts2框架。我的Struts文件操作映射如下:


{1}
视图/CreateShBehaviorView.jsp
/  
和用于调用action类的url:

http://localhost:8080/pro/createSHBehaviour/123
这里
createshbehavior
createshbehavior动作的方法
类:

公共类CreateShBehaviorAction扩展了ActionSupport实现
SessionAware,可参数化{
/**
* 
*/
私有静态最终长serialVersionUID=1L;
私有SessionMap SessionMap=null;
private Map params=new HashMap();
公共字符串execute(){
System.out.println(“param1=”+this.params.get(“param1”);
sessionMap=(sessionMap)ActionContext.getContext()
.getSession();
sessionMap.put(“idsofhumans”,“hhhh”);
sessionMap.put(“修复行为模式”,true);
回报行动。成功;
}
公共无效设置会话(映射){
sessionMap=(sessionMap)映射;
}
@凌驾
public void addParam(字符串键、字符串值){
//TODO自动生成的方法存根
this.params.put(键、值);
}
@凌驾
公共映射getParams(){
//TODO自动生成的方法存根
返回此.params;
}
@凌驾
公共void setParams(映射参数){
//TODO自动生成的方法存根
this.params=params;
}
}
我今天对此很累,请给我一些建议来解决这个问题。
谢谢

使用
ParameterAware
而不是
Parametrizable
或直接从操作上下文获取参数

Map<String, Object[]> parameters =  ActionContext.getContext().getParameters();
Map parameters=ActionContext.getContext().getParameters();