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

时间:2012-05-25 09:22:28

标签: java jsp variables opencms

我有一个这样的表格:

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

1 个答案:

答案 0 :(得分: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类中?但无关紧要,您可以将请求作为参数传递给它。这是一种方法: