Velocity 中调用javabean的方法遇到的问题

来源:互联网 发布:数据库物理结构设计 编辑:程序博客网 时间:2024/09/21 09:05

需求 :用户输入一段文本,其中包含 ${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如下:

Java代码 复制代码
  1. public class Item {   
  2.   
  3.     public String name (int index) {   
  4.         // ....   
  5.         // ....   
  6.     }   
  7. }