java - 调用java类形成速度模板(.vt)文件

标签 java velocity

我正在研究速度模板来解决一些问题。我是这项技术的新手,很难解决这个问题,请帮助我解决这个问题。

我需要从表单速度模板(.vt)文件调用java类,正在执行以下操作

我试图通过调用 java 类 SCProperties 来获取我们应用程序的 url 之一

<#set ($partMatchURL = $txt.display($sCProperties.getProperty("partmatch.url")))>

SCProperties 类是 com.nfsmith.util 包的一部分。

然后,单击 Partmatch(位于超链接下方)时,它应该会打开一个包含 Partmatch(我们的内部应用程序之一)URL 的窗口。

以下是超链接的 html 代码

<div id="sub2tab10" class="subtab" style="left: 910" 
     onClick = "javascript:window.open('$partMatchURL');" 
     onMouseOver="hoversub(this);" 
     onMouseOut="setStateSub(2,10)">
  Part Match
</div>

但是这里我正在获取 http://foo.bar.com/SalesChain3/Controller/ `) url 和以下错误

单击 Partmatch 超链接后出现 500 错误

HTTP Status 500 - 
type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: Unable to find resource ')'
    com.nfsmith.servlet.Controller.error(Controller.java:683)
    org.apache.velocity.servlet.VelocityServlet.doRequest(VelocityServlet.java:361)
    org.apache.velocity.servlet.VelocityServlet.doGet(VelocityServlet.java:292)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)


root cause 

org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource ')'
    org.apache.velocity.runtime.resource.ResourceManager.getResource(ResourceManager.java:438)
    org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:736)
    org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:718)
    org.apache.velocity.runtime.RuntimeSingleton.getTemplate(RuntimeSingleton.java:337)
    org.apache.velocity.servlet.VelocityServlet.getTemplate(VelocityServlet.java:499)
    com.nfsmith.servlet.Controller.handleRequest(Controller.java:626)
    org.apache.velocity.servlet.VelocityServlet.doRequest(VelocityServlet.java:331)
    org.apache.velocity.servlet.VelocityServlet.doGet(VelocityServlet.java:292)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

最佳答案

你的问题很难理解。如果我是对的,那么以下内容是正确的:

$txt.display($sCProperties.getProperty("partmatch.url")) 结果为 http://foo.bar.com/SalesChain3/Controller/)(包括右括号)

我不知道 $txt.display() 应该做什么,因为你没有解释它,所以我会忽略它

如果 $sCProperties.getProperty("partmatch.url") 响应 http://foo.bar.com/SalesChain3/Controller/) 则发出声音就像您成功调用了您想要的方法,但问题在于方法本身给出了错误的结果

关于java - 调用java类形成速度模板(.vt)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17282645/

相关文章:

java - 使用 java 从文本文件获取和设置数据

java - 使用计数数组来保存另一个数组的计数

CSS 样式不会在 Jira 插件的元素选项卡面板中生效

java - 速度模板的变化以在不重启服务器的情况下反射(reflect)出来

java - 无法在点处分割 - 速度

java - HttpServletRequest 和 SecurityContext 之间的区别

java - Android NotificationCompat.Builder 适用于三个按钮,但不适用于四个按钮

java - Presenter应该了解Android MVP架构中的Activity吗?

java - 与 Velocity 和 Mvel 相比,Stringtemplate 性能较低

java - 在速度方面,您可以遍历 java hashmap 的条目 set() 吗?