【问题标题】:Any solution to override page title on a JSP page在 JSP 页面上覆盖页面标题的任何解决方案
【发布时间】:2012-09-27 00:39:38
【问题描述】:
<jsp:include page="categories/sub-category/${param.ID}.jsp" flush="true" />

最简单的表达方式是为“子类别”(即 paramID 调用)下的 jsp 找到任何方式,以使每个都有自己的 unique 页面标题。无论是 jstl、java 还是你有什么,我不确定......所以唯一的要求是 1)它有效 2)SEO 友好

我知道这种方式:

<script>
    document.title = "My Title";
</script>

使用脚本,但这对 SEO 不利(这也是造成这种情况的主要原因是 Disqus 的“相关讨论”将显示为独特的页面标题)。

我也见过这种方式:

<head><title><%= param.name %></title></head>

但这给我留下了“无法将参数解析为变量”的错误。也许我做错了什么?感谢您的任何建设性帮助。如果您需要更多信息,请告诉我...

这是它在地址栏中的样子...

http://localhost:8080/root/categories.jsp?ID=test-page

所以从答案来看,放入test-page.jsp的代码是

<head><title>${param.name}</title></head>  correct?

如何在 test-page.jsp 中将标题的值写成字符串?所以在 test-page.jsp 里面有它说“测试页的标题”

【问题讨论】:

  • 因为&lt;%= ... %&gt;是一个scriptlet变量;如果您想访问在param 下设置的内容,请像现在一样使用 JSP EL:${param.name}
  • T/y。澄清一下,作为一个例子,它在特定 ID jsp 页面中的外观如何?就像在 ID 页面 'article.jsp' 里面放 &lt;head&gt;&lt;title&gt;${param.name}&lt;/title&gt;&lt;/head&gt; ?

标签: java html eclipse jsp jstl


【解决方案1】:

您可以使用&lt;jsp:param&gt; 通过&lt;jsp:include&gt;&lt;jsp:forward&gt; 操作传递参数。

<jsp:include page="categories.jsp" flush="true">
   <jsp:param name="id" value="test-page.jsp"/>
   <jsp:param name="title" value="Title of test page"/>
</jsp:include>

categories.jsp 中的代码/标记应该是,

<head>
  <title>${param.title}</title>
</head>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 2018-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    相关资源
    最近更新 更多