需求 :用户输入一段文本,其中包含 ${item.name(X)} (注:X是一个整数)这样的脚本,需要使用 Velocity 把这些脚本替换成实际的数据。
用户输入如下:
即将到期的项目有: item.name(1), item.name(2), item.name(3).
经过Velocity 处理后的文字为:
即将到期的项目有: 金泰企策项目, 华南工程项目, 太平洋保险项目.
但是,由于这段文字是用户自行输入的,有可能输入错误,如下:
即将到期的项目有: item.name(1), item.name(2), item.name(3).
其中,item.name(2)中的参数[2]被输入为全角,此时,Velocity 直接抛出错误。
客户要求,像这种item.name(2)不能替换为实际数据的脚本,必须依照原文字输出,不能抛出错误。
即达到如下效果:
即将到期的项目有: 金泰企策项目, item.name(2), 太平洋保险项目.
搞了一天没有解决了,希望各位老师给个解决的方法,先行谢过。
附:item.name(1)中item对应的javabean如下:
- public class Item {
- public String name (int index) {
- // ....
- // ....
- }
- }