Ognl后台取值

qqMrTu 2014-11-22 03:19:48
这里的后台取值是指用在java代码中,众所周知,struts有一个插件struts-json-plugin.他支持以Ognl表达式获取数据.现在由于业务需要,也需要这样一个功能.但不知道该用什么方法.

//根据配置文件查找指定属性并加入响应实体内容集合
private Object getResponseData(ActionInvocation acation){
if(this.data==null)return null;
String[] objNames=this.data.split(",");
for(String name:objNames){
Object value=null;
//如果参数名代有#号,表示要从context中获取数据
if(name.indexOf("#")==0){
try {
Map<String,Object> map=Ognl.createDefaultContext(ServletActionContext.getContext().getSession());
//****这里取不到相应的值.不知道该用什么方法.
value=Ognl.getValue(name,map, "");
} catch (OgnlException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
//*******root中能取到相应的值
value=acation.getStack().findString(name);
}
System.out.println(name+":"+value);
//加入到响应内容列表
if(value!=null)this.datelist.add(value);
}
...全文
139 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧