要从 toserve-directory 读取资源,您需要执行如下调用
LiftRules.getResource("/toserve/images/test.jpg")
如果您尝试使用“classpath”而不是“toserve”,您将收到一个空框。
默认情况下,Lift 使用两种不同的路径前缀在服务器中以编程方式或通过 HTML 中的链接元素来定位资源。对于前者,您将使用“toserve”前缀,对于后者,您将使用“classpath”前缀。
此行为在对象 net.liftweb.http.LiftRules 和 net.liftweb.http.ResourceServer 中指定。特别是,您可以在那里指定(即替换)资源的路径。相关代码为:
/** (from net.liftweb.http.ResourceServer)
* The base package for serving resources. This way, resource names can't be spoofed
*/
var baseResourceLocation = "toserve"
您可能还想查看 LiftRules 中的以下方法,它允许您重新定义用于通过服务器提供资源的名称:
/** (from net.liftweb.http.LiftRules)
* The path to handle served resources
*/
@volatile var resourceServerPath = "classpath"
如果您希望使用相同的前缀来引用这两个资源,您可以使用这些设置中的一个(或两个)来实现您的目的。