速度字符串函数
我刚刚开始使用 Java Velocity。 现在我想创建一个java类模板。
package $app.package_namespace
public class ${app.name}Station
{
#foreach($s_attribute in $app.station)
$s_attribute.type $s_attribute.name,
#end
public $app.name Station(#foreach($s_attribute in $app.station)
$s_attribute.type $s_attribute.name;
#end)
{
#foreach($s_attribute in $app.station)
$s_attribute.name=$s_attribute.name;
#end
}
#foreach($s_attribute in $app.station)
public ${s_attribute.type} get${s_attribute.name}()
{
return get${s_attribute.name}();
}
#end
}
问题是 s_attribute.name 第一个字符是小写的。当我为属性创建 getter 和 setter 函数时。我需要将第一个字符更改为大写。
有人知道该怎么做吗?
I just start using Java Velocity.
Now I want to create a java class template.
package $app.package_namespace
public class ${app.name}Station
{
#foreach($s_attribute in $app.station)
$s_attribute.type $s_attribute.name,
#end
public $app.name Station(#foreach($s_attribute in $app.station)
$s_attribute.type $s_attribute.name;
#end)
{
#foreach($s_attribute in $app.station)
$s_attribute.name=$s_attribute.name;
#end
}
#foreach($s_attribute in $app.station)
public ${s_attribute.type} get${s_attribute.name}()
{
return get${s_attribute.name}();
}
#end
}
The problem is s_attribute.name first character is lowercase. When I create getter and setter function for attributes. I need change first character to uppercase.
Did anyone know how to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以在这些对象上调用标准 java 方法。如果
s_attribute.name
是 String 类型,您可以直接使用$s_attribute.name.toUpperCase()
或根据您的具体情况使用$s_attribute.name.substring(0 ,1).toUpperCase()
和$s_attribute.name.substring(1).toLowerCase()
You can invoke standard java methods on these objects. If
s_attribute.name
is type String you can directly use$s_attribute.name.toUpperCase()
or for your specific case use$s_attribute.name.substring(0,1).toUpperCase()
and$s_attribute.name.substring(1).toLowerCase()
显示工具
。在模板中,您可以执行以下操作:您将需要对类路径的额外依赖项:
并且您需要将
display
实例添加到上下文There is
capitalize()
method inDisplayTool
. In the template you can do:You will need the extra dependency on the classpath:
And you need to add a the
display
instance to the context如果您使用的是
commons-lang
,您可以使用StringUtils
类:然后在您的模板中:
If you are using
commons-lang
you can use theStringUtils
class:Then in your template:
您只需创建 2 个方法
getName()
和getname()
那么当您使用
${s_attribute.name}
速度时将使用getname()
,当您使用${s_attribute.Name}
速度时将使用getName()
方法。摘自速度指南:
我建议您在后端的对象中处理它。
You could just create 2 methods
getName()
andgetname()
then when you use
${s_attribute.name}
velocity will usegetname()
and when you use${s_attribute.Name}
velocity will use thegetName()
method.From the Velocity guide:
What i'm suggesting is that you handle it in your object on the backend.