当前位置: 首页 > 知识库问答 >
问题:

调用java类表单速度模板(. vt)文件

东门俊智
2023-03-14

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

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

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

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

SCProperties类是com的一部分。史密斯先生。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得到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)

共有1个答案

葛雨华
2023-03-14

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

$txt.display($sCProperties.get属性("partmatch.url"))导致http://foo.bar.com/SalesChain3/Controller/)(包括结束括号)

我不知道是什么。display()应该按照您没有解释的方式执行,所以我将忽略它

如果$sCProperties。getProperty(“partmatch.url”)正在以http://foo.bar.com/SalesChain3/Controller/)那么听起来你成功地调用了你想要的方法,问题在于方法本身给出了错误的结果

 类似资料:
  • 我在编辑速度模板。它们用于生成PDF。问题是我不能预览它们。我看不出模板呈现时会是什么样子。有什么工具可以用来吗?我试过谷歌搜索,但什么也找不到。 另外,我知道如果我在本地加载它,它不会显示变量。我感兴趣的是知道它会是什么样子。布局等。,

  • 我正在将一个应用程序从WebSphere迁移到Tomcat,从Ant迁移到Maven。在此过程中,我们决定对Spring进行更新,并对较新的版本进行少量其他更新。该应用程序可以追溯到2005年。所以不是所有的,都是最新和最伟大的。 其中一个障碍是,迁移到Spring5.0,下降了对速度的支持。我们的应用程序广泛使用的工具。我们用的是Spring2.8之类的!:) 现在,我看到这些声明:

  • 我尝试使用文字块(并解析它们)和指令,但这两个指令都存在问题。它们很笨拙(需要对模板进行一些解析),而且远非优雅。

  • Java中有没有替换机制,在这里我可以用文本传递对象,它会在出现时替换字符串。 例如,文本是: 我拥有的对象是和。我想用对象中的等效值替换中给定的字符串。这与我们在velocity模板中替换对象是一样的。

  • 这些都不管用。我希望嵌入这个图像,这样我就不必用发布的图像目录配置web服务器。 我将如何实现这一点?