从速度模板(.vm)文件调用java类

时间:2013-06-24 18:39:57

标签: 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>

但是这里m getting http://foo.bar.com/SalesChain3/Controller/`)网址及错误

点击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)

1 个答案:

答案 0 :(得分:1)

你的问题很难理解。如果我是对的,则以下情况属实:

$txt.display($sCProperties.getProperty("partmatch.url"))会产生http://foo.bar.com/SalesChain3/Controller/)(包括结束括号)

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

如果$sCProperties.getProperty("partmatch.url")正在使用http://foo.bar.com/SalesChain3/Controller/)回复,那么听起来您正在成功调用您想要的方法,并且问题出在方法本身中,会产生错误的结果