Java 速度不确定法
我正在开发一个webapp,使用apachevelocity作为模板引擎。我希望它显示一个HTML5选择,如下所示Java 速度不确定法,java,velocity,Java,Velocity,我正在开发一个webapp,使用apachevelocity作为模板引擎。我希望它显示一个HTML5选择,如下所示 <select class="form-control" id="detailFunction"> #foreach($function in $functions) <option id="$function.getId()">$function.getTitle()</option> #end </select&
<select class="form-control" id="detailFunction">
#foreach($function in $functions)
<option id="$function.getId()">$function.getTitle()</option>
#end
</select>
$functions
是一个列表
。但是,当我运行此代码时,它会显示:
Object 'com.stackoverflow.Function' does not contain method getId() at /velocity/editor.vm[line 40, column 48]
虽然它显然在那里。即使将
$functions
更改为Function[]
类型,也不会改变任何东西。这可能是什么?您忘记将public
access修饰符添加到函数类,以便能够使用它
Velocity只允许出于安全原因调用公共类上的公共方法
申报你的班级:
public class Function {
这不是强制性的,但如果您需要在velocity模板中添加构造函数,您可能还应该添加公共访问
public Function(int id, String title) {
做一个完全干净的构建吗?
mvn clean&&mvn编译过几次了。也许它应该返回string@SeanF当从HTML中删除getId()
时,我遇到了相同的错误。在这个上下文中,构造函数不需要是public
。@WardSegers是的,但是如果在不同的velocity上下文中需要它?我会更新,这不是强制性的这个问题
public Function(int id, String title) {