2015-07-01 21 views
0

我试图从一个JavaScript文件中作为参数传递一个变量作为模板扩展中的java方法。该变量是我想要在网页上显示的图像的文件路径。当我尝试显示普通图像时,我可以使用它来调用它使用一个JavaScript变量作为参数在一个模板扩展中调用的css中的参数

"${ImageUrl}" 

它返回整个文件。但是,该文件位于外部文件系统中,所以我想要执行的操作是call这种方法可以获取正确的文件并根据需要处理该文件,并将该文件路径作为该方法中的参数传递。然而,当我call

"${getImage(ImageUrl}" 

我的Java文件中读取的ImageUrl为文本 “的ImageUrl”。

有没有办法调用方法并传入正确的javascript变量作为参数?

感谢

回答

0

请记住Web应用程序的基本物理:JavaScript的浏览器不能直接调用服务器上的Java代码的方法。此外,在Tapestry中,如果模板文件中有模板扩展($ {...}语法),则首先在服务器端上解析该扩展,然后将发送给浏览器,然后运行JavaScript在浏览器中。

您没有提供足够的信息让读者了解您的案例中最佳解决方案。您可以通过AJAX调用将信息从JavaScript发送到服务器端Web应用程序;或者JavaScript可能会请求整个页面呈现,将图像名称作为页面激活上下文传递;或者JavaScript可以建立实际的URL本身并且即时创建一个标签。这一切都取决于你自己的喜好和要求。

0

Javascript文件是静态的,它们可以下载一次并通过浏览器缓存。而不是将动态变量嵌入到js文件中,将它们作为函数参数传入

相关问题