>我有这样的表格:
<form id="form" method="post">
Name: <input name="name" />
E-Mail: <input name="email"/>
Comment: <textarea name="comment" cols="5" rows="10"></textarea>
<input type="submit" name="submit" value="submit"/>
</form>
用于某些开发人员博客的评论功能。因此,我需要稍后将输入插入到某个数据库中以进行某些选择查询。
现在如何告诉脚本哪些评论属于哪个博客文章?
我的想法是获取文件名或条目标题或其他内容,并将其放入我正在创建的查询中。我可能会设法找出如何在OpenCMS中获取文件名 - 如果有的话,大约需要五分钟的搜索时间 - 但我不知道的是我如何将OpenCMS变量放入文件的Java部分,在那里我设置了实际的查询/查询。
几周前,我已经搜索过了,但是当时我设法找到了避免这种情况的方法。现在,虽然我也想不出避免的方法,所以我希望有人知道如何正确地完成这项工作。
如果您需要这个,这是到目前为止实际博客条目的代码,我将在作者信息下方附加评论函数(作为一个元素)。
<cms:contentcheck ifexistsone="Header"><h2><cms:contentshow element="Header" /></h2></cms:contentcheck>
<p class="BlogEntry">
<cms:contentcheck ifexistsone="Text"><cms:contentshow element="Text" /></cms:contentcheck>
<cms:contentcheck ifexistsone="IntLink"><%@ include file="/system/modules/de.medienkonzepte.uform.templates/elements/internerlink.txt" %></cms:contentcheck>
</p>
<cms:contentcheck ifexistsone="Image">
<cms:contentloop element="Image">
<img style="padding:10px;" src="<cms:link><cms:contentshow element="ImageSrc" /></cms:link>" alt="<cms:contentshow element="Alt_Tag" />" />
</cms:contentloop>
</cms:contentcheck>
</cms:contentloop>
</cms:contentcheck>
<cms:contentcheck ifexistsone="Content/Text">
<c:set var="dateString"><cms:contentshow element="Date"/></c:set>
<%
java.util.Date date = new java.util.Date();
date.setTime(Long.parseLong(pageContext.getAttribute("dateString").toString()));
pageContext.setAttribute("date", date);
%>
<% // Author %>
<cms:contentcheck ifexistsone="Author"><p class="blogentry_author">Written by: <cms:contentshow element="Author"/> on <fmt:formatDate value="${date}" type="date" pattern="dd.MM.yyyy"/></p></cms:contentcheck>
</cms:contentcheck>
</div> <% // ende innercontent %>
某些开发人员博客的评论功能
用户在博客条目的详细信息页面上(整个页面只有这一个条目),底部有一个评论表单,这很常见,即在 Wordpress 博客中?或者它是一个包含多个博客条目的页面?
如果您在详细信息页面上,则可以使用 java 代码立即获取当前文件名:
CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response);
String filename = cms.getRequestContext().getUri();
但我不知道的是我如何将OpenCMS变量放入我的Java中 部分,我在其中设置了实际的查询/查询。
<c:set var="filename" scope="request">output your OpenCms variable in here</c:set>
然后你可以通过以下方式访问文件名变量
request.getAttribute("filename")
你在哪里做查询?就在 jsp 中还是在 java 类中?但没多大关系,您只需将请求作为参数传递给它即可。这是一种方法: