我正在尝试使用velocity (1.6.2 and tools 2.0 beta4) 的非常简单的struts2 (2.1.6) 应用程序,
它只不过是一个带有单个文本字段的简单表单。
代码如下
## Velocity Template.
<html>
<head>
<title>Struts2 and velocity </title>
</head>
<body>
pass this message:
$sform("action=Amma" "validate=true")
$stextfield ("label=message" "name=userName" "size=20")
$ssubmit ("label=pass it")
#end
</body>
</html>
当我调用这个速度文件时,我收到以下错误
java.lang.RuntimeException: org.apache.velocity.exception.ParseErrorException: Encountered "#end\n" at /velocityArea/ammaMessage.vm[line 24, column 5]
Was expecting one of:
<EOF>
"(" ...
<RPAREN> ...
<ESCAPE_DIRECTIVE> ...
<SET_DIRECTIVE> ...
"##" ...
"\\\\" ...
"\\" ...
<TEXT> ...
"*#" ...
"*#" ...
<STRING_LITERAL> ...
<IF_DIRECTIVE> ...
<STOP_DIRECTIVE> ...
<INTEGER_LITERAL> ...
<FLOATING_POINT_LITERAL> ...
<WORD> ...
<BRACKETED_WORD> ...
<IDENTIFIER> ...
<DOT> ...
"{" ...
"}" ...
at org.apache.velocity.tools.view.VelocityView.getTemplate(VelocityView.java:858)
at org.apache.velocity.tools.view.VelocityView.getTemplate(VelocityView.java:809)
at org.apache.velocity.tools.view.VelocityViewServlet.getTemplate(VelocityViewServlet.java:287)
at org.apache.velocity.tools.view.VelocityViewServlet.handleRequest(VelocityViewServlet.java:248)
at org.apache.velocity.tools.view.VelocityViewServlet.doRequest(VelocityViewServlet.java:215)
at org.apache.velocity.tools.view.VelocityViewServlet.doGet(VelocityViewServlet.java:181)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.velocity.exception.ParseErrorException: Encountered "#end\n" at /velocityArea/ammaMessage.vm[line 24, column 5]
Was expecting one of:
<EOF>
"(" ...
<RPAREN> ...
<ESCAPE_DIRECTIVE> ...
<SET_DIRECTIVE> ...
"##" ...
"\\\\" ...
"\\" ...
<TEXT> ...
"*#" ...
"*#" ...
<STRING_LITERAL> ...
<IF_DIRECTIVE> ...
<STOP_DIRECTIVE> ...
<INTEGER_LITERAL> ...
<FLOATING_POINT_LITERAL> ...
<WORD> ...
<BRACKETED_WORD> ...
<IDENTIFIER> ...
<DOT> ...
"{" ...
"}" ...
at org.apache.velocity.Template.process(Template.java:141)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:446)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:354)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1400)
at org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:422)
at org.apache.velocity.tools.view.VelocityView.getTemplate(VelocityView.java:853)
... 22 more
似乎问题就在附近
#end
标签 ,
但我不知道如何解决这个问题,等待您的回复..
问候