OpenCMS:如何在JSP/Javascript/Java中使用变量



>我有这样的表格:

<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 类中?但没多大关系,您只需将请求作为参数传递给它即可。这是一种方法:

最新更新