关于Velocity访问javabean传参问题,求教!!!

发布于 2021-11-16 00:21:35 字数 2587 浏览 390 评论 4

ToyTool.java 类

public class ToyTool {

	private String message = "Hello from ToyTool!";  
	  
    public String getMessage()  
    {  System.out.println("===========================================");
        return message;  
    }  
  
    public void setMessage(String m)  
    {  
        message = m;  
    }
    
    public void report(HttpServletRequest req){
    	System.out.println("=========================");
    	
    	System.out.println("===:"+req.getRequestURI());
    }
    
    public void reqs(String value){
    	System.out.println("=====调用成功了===="+value);
    }
  
    /** To test exception handling in templates. */  
    public boolean whine() {  
        throw new IllegalArgumentException();  
    }  
}
tools.xml 文件配置


<tools> 
    <data type="boolean" key="xhtml" value="true"/>  
    <data type="boolean" key="isSimple" value="true"/>  
    <data type="number" key="version" value="2.0"/>  
    <data key="foo">this is foo</data>  
    <data key="bar">this is bar.</data>
    <toolbox scope="request">
        <tool class="org.apache.velocity.tools.view.ViewContextTool"/>
        <tool class="org.apache.velocity.tools.generic.ResourceTool"/>
        <tool key="toytool" class="com.sps2h.view.ToyTool"/>
    </toolbox>
    <toolbox scope="session" locale="en_US">
    	<tool class="org.apache.velocity.tools.view.BrowserTool" languagesFilter="en"/>
    </toolbox>
    <toolbox scope="application">
    	<tool key="math" class="org.apache.velocity.tools.generic.MathTool"></tool>
    	<tool key="date" class="org.apache.velocity.tools.generic.DateTool"></tool>
    </toolbox>
</tools>
index.vm模板文件


<html>  
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<body>  
<br />
request value :$request.get("parameters").get("test")
<br />
$toytool.report($request) ##这个函数就调用不到
$toytool.reqs("===SUCCESS==") ##这个就可以正常调用
<br />
  
</body>  
</html>  


$toytool.report($request) ##这个函数就调用不到

信息:  Velocity  [debug] Null reference [template '/index.vm', line 7, column 1] : $toytool.report($request) cannot be resolved.


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

挽清梦 2021-11-22 05:18:46

这样可以调用,但是System.out.println("===:"+req);

夜司空 2021-11-22 01:35:38

System.out.println("===:"+req);结果是null $toytool.report(${request}) 这样调用不了的原因就是${request}作参数这样传的时候就null。 我在.vm上面输出${request}都是有值的!

成熟的代价 2021-11-20 14:17:09

呵呵 可以调用,但是不能这样用,有问题

岁月打碎记忆 2021-11-18 19:39:48

改成这样试试呐?(没用过,猜滴)

public void report(Object req)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文