
<div xmlns="http://www.w3.org/1999/xhtml" data-template="templates:surround" data-template-with="templates/page.HTML" data-template-at="content">
在索引HTML网站上我添加了一个关键字搜索表单,我的想法是,当我点击搜索按钮时,它应该调用.xq文件来请求搜索结果:
<form method="GET" action="ksearch.xq">
当我提交表单时,会打开ksearch.xq页面,但即使我包含与上面相同的模板div:
<div xmlns="http://www.w3.org/1999/xhtml" data-template="templates:surround" data-template-with="templates/page.HTML" data-template-at="content">
ksearch.xq页面没有应用模板.
似乎当我调用.xq文件时,模板未应用,但是当我调用纯HTML文件时,模板将被应用.
所以问题是如何在.xq文件的输出中使用此模板?
提前致谢.
解决方法 默认情况下,eXist-db的模板框架对具有.HTML文件扩展名的文件的请求进行 *** 作,而不是对.xq文件.正如您所发现的,模板框架将非.HTML文件的结果传递给未更改的文件. (如果在应用程序的集合中打开controller.xql文件,您将看到.HTML文件的特殊处理.)因此,您的表单将搜索参数提交给使用模板框架的.HTML文件,而不是ksearch.xq.调用Xquery代码的约定,例如,<div xmlns="http://www.w3.org/1999/xhtml" data-template="templates:surround" data-template-with="templates/page.HTML" data-template-at="content"> <div /></div>
这个应用程序:show-search-results类(我编写的)会指向app模块中的一个函数(在/db/apps/myapp/modules/app.xqm中),名为show-search-results(),模板函数中其他地方使用的常规参数.这是您放置搜索Xquery代码的地方.
总结以上是内存溢出为你收集整理的eXist-db在.xq数据中包含html模板全部内容,希望文章能够帮你解决eXist-db在.xq数据中包含html模板所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)