0

我有这样的表格:

<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 %>
4

1 回答 1

0

一些开发者博客的评论功能

用户是否在博客条目的详细页面(整个页面只有一个条目),底部有评论表单,很常见,即在 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 类中?但没关系,您可以将请求作为参数传递给它。这是一种方法:

于 2012-05-26T02:44:47.380 回答