String sql="select * from a where bmbm=:a_bmbm"然后有一个变量B,一个变量C,B是需要匹配"a_bmbm"字符串的,C则是在B匹配以后需要替换SQL中:a_bmbm部分的值!表达式表示:
if(sql.indexOf(B)>0)
{
if(C!=null)
{
sql="select * from a where bmbm=C";//直接替换:a_bmbm
}else
{
sql="select * from a where 1=1"//需要bmbm=:a_bmbm替换为1=1,这个算法怎么写?
}
}
if(sql.indexOf(B)>0)
{
if(C!=null)
{
sql="select * from a where bmbm=C";//直接替换:a_bmbm
}else
{
sql="select * from a where 1=1"//需要bmbm=:a_bmbm替换为1=1,这个算法怎么写?
}
}
substring来取……或者直接把filter提取出来String s = "bmbm=''";
String s2="bmbm='B'";if(s.equals(s2))
{
filter="bmbm=C";
}
else{
filter="";
}sql="select * from table" + (filter.length()>0?" where "+filter:"");
http://internet.blog.enorth.com.cn/article/20761.shtml
例如 ${name} 这样正则表达式不就好些了吗,
否则像你这样命名 :name 还的判断哪些字符不能作为变量,然后才能确定变量的结尾,有点麻烦
所以还是用我推荐的方式命名,你通过EL表达式语言的定义方式就可以看出这样定义的好处