java - 如何在叠加层中显示搜索结果页面

标签 java javascript aem

我需要在叠加层中显示搜索结果页面。 为此,我创建了一个 div:

  <div class="overlaybox" id="overlaybox" style="display:none">
      <sling:include path="/content/myapp/searchpage.html" />     
  </div>

我可以使用上面的代码以叠加方式显示搜索页面(无需在路径中附加任何查询字符串)。然而, 现在,当我点击搜索时,我需要将搜索中输入的查询作为请求参数附加到此 searchpage.html 中,然后只有搜索结果会填充在搜索页面中。目前,在上面的代码中,没有传递请求参数,因此没有显示任何结果。 所以我尝试使用以下代码:

    String keyword="games"
    String path="/content/myapp/searchpage.html?q="+keyword; 

并在吊索中使用该路径:包括如下

    <div class="overlaybox" id="overlaybox" style="display:none">
        <sling:include path="<%=path%>" />     
    </div>

但是,这并没有奏效。谁能告诉我如何将查询字符串添加到路径中?

最佳答案

当您 sling:include searchpage 时,您的页面组件渲染脚本(大概是 searchpage.jsp)将被执行。因此,您应该能够使用标准代码从该脚本读取查询参数,即:

String keyword = slingRequest.getParameter("q");

如果您传递的参数实际上不在 URL 查询字符串中,但需要进行硬编码,也许您可​​以使用选择器:

<sling:include path="/content/myapp/searchpage.html" addSelectors="games">
...
String keyword = slingRequest.getRequestPathInfo().getSelectorsString();

关于java - 如何在叠加层中显示搜索结果页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16523891/

相关文章:

javascript - 在 Sequelize 中从关联创建复合主键

javascript - 是否可以集成 Angular.js (Angular 1) 和 AEM (Adobe Experience Manager 6.2)

java - 动态显示和隐藏 JFrame 装饰

java - Java 光标周围的黄色圆圈

javascript - 我想知道 jquery 的委托(delegate)或 on(for delegate) 是如何工作的

javascript - JQUERY:简单获取div的偏移量

java - 使用 xtype pathfield 遍历子页面

java - CXF:java.lang.NoClassDefFoundError:javax/xml/ws/BindingProvider

java - 是否可以在 intellij 中同时将 int 视为十进制和十六进制?

java - 从字符串java中提取日期