在我的groovy服务类中,我有一个SQL语句,有时会返回带有ex 01 John
,02 Smith
概念的数字。如何仅过滤John,Smith并且不包括数字。我想在我的gsp视图中只显示John,Smith而不是之前的数字标签?
在groovy控制器代码中,我调用函数:
def wiki =
{
def currentNode = params.nodePath
def conceptName = nodeService.retrieveConceptName (currentNode);
render (template:'wiki', model:[conceptName : conceptName])
}
在服务类中,我定义了函数retrieveConceptName:
def retrieveConceptName(currentNode)
{
groovy.sql.Sql sql = new groovy.sql.Sql(dataSource);
def row= sql.firstRow(" SELECT cname FROM Person WHERE FULLNAME= ?",[currentNode]);
return row;
}
.gsp视图:(起始行)
<span class="metaDataDialog nodePathTitle">${conceptName.cname}</span>
答案 0 :(得分:1)
您可以使用regex来清理数据。所以正则表达式将从名称中删除所有数字和空格。在您的情况下,您可以使用.replaceAll(/[0-9 ]/, "")
,它将替换您姓名中的所有数字和空格。试试这段代码:
def wiki =
{
def currentNode = params.nodePath
def conceptName = nodeService.retrieveConceptName(currentNode)
conceptName.cname = conceptName.cname.replaceAll(/[0-9 ]/, "")
render (template:'wiki', model:[conceptName : conceptName])
}