【发布时间】:2011-06-27 10:42:18
【问题描述】:
以这个场景为例,
在字符串缓冲区中,我连续追加字符串,例如
int a=10;
sb.append("if("+a+">"+$b+"){\"checked\"}");
$b 是一个宏
最后根据条件满足字符串"checked"添加
如何评估 if 条件,因为同时评估 $b 值
作为 $b (最终回复为价值)请帮助我。让我知道
如果您有任何疑问。
public static String getStringUsingMacro(String source,HashMap hm)
throws Exception{
WebMacro wm = new WM();
Context context=wm.getContext();
Iterator it=hm.keySet().iterator();
while(it.hasNext()){
String key=(String)it.next();
context.put(key,hm.get(key));
}
Template template2=new StringTemplate(wm.getBroker(),source);
template2.parse();
return template2.evaluateAsString(context);
}
【问题讨论】:
-
我已将问题阅读了三遍,但我不知道您要做什么。 ;) 你能举一些例子吗?
-
$b 是 webmacro,它基于我不完全了解的 webframe 框架,但在我们的项目中可能会用到。
-
@BALA:Java 本身没有宏。请提供很多更多关于用于运行此代码的框架的上下文。
-
在上面的代码方法getStringUsingMacro中,我们传递了源(字符串)和hashmap,它们具有基于将$b替换为某个值的值的值集我不太关心这个框架,这就是为什么我不是能够解释清楚。对不起所有
-
@BALA:你至少应该提到你在这里使用WebMacro框架