在我的groovy服务类中,我有一条SQL语句,该语句有时返回带有概念的数字,例如01 John
,02 Smith
。如何只过滤约翰,史密斯而不包括数字。我想在gsp View 中仅显示John,Smith而不显示它们前面的数字标签吗?
在常规的 Controller 代码中,我调用该函数:
def wiki =
{
def currentNode = params.nodePath
def conceptName = nodeService.retrieveConceptName (currentNode);
render (template:'wiki', model:[conceptName : conceptName])
}
在服务类中,我定义了函数restoreConceptName:
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 View :(起始行)
<span class="metaDataDialog nodePathTitle">${conceptName.cname}</span>
最佳答案
您可以使用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])
}